# Form validation failed on submit

**URL:** <https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091>\
**Category:** Components & MVC\
**Tags:** laminas-mvc-i18n, laminas-validator\
**Created:** [February 4, 2021, 12:14pm UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091 "2021-02-04T12:14:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ebuddy](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/ebuddy/32/1536_2.png) [@ebuddy](https://discourse.laminas.dev/u/ebuddy)\
**Post date:** [February 4, 2021, 12:14pm UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091/1 "2021-02-04T12:14:17Z")

</div>

Hello,  
I have built a form base on fieldset wich contains select Element. I created a factory for the fieldset to populate the select with database entries and everything is ok.  
But in my controller I get this error when I call myform-\>isvalid(). Here is the error message

**File:**

**C:\wamp\www\school-online\vendor\laminas\laminas-validator\src\AbstractValidator.php:395**

**Message:**

**Argument 1 passed to Laminas\Validator\AbstractValidator::setTranslator() must be an instance of Laminas\Validator\Translator\TranslatorInterface or null, instance of Laminas\I18n\Translator\Translator given, called in C:\wamp\www\school-online\vendor\laminas\laminas-validator\src\ValidatorPluginManager.php on line 580**

I need to precise that I have not setted yet the getInputFilter function and haven’t yet setted validator.

Here is my controller code :

```
<?php

    declare(strict_types=1);

    namespace Admin\Controller;

    use Laminas\View\Model\ViewModel;
    use Commun\Controller\NslabsAbstractController;
    use Commun\Form\Admin\ClasseForm;
    use Commun\Model\Entity\RefClasse;
    use Laminas\Hydrator\ArraySerializableHydrator;

    class AdministrationFonctionnelleController extends NslabsAbstractController
    {
        
        //private $SM;    

        public function listeDesClassesAction()
        {   
            
            $post=$this->post;
            $mapperRefClasse = $this->SM->get('TREFCLASSE');               
            
            $classeForm = $this->formManager->get(ClasseForm::class);                
            $classeForm->get('enregistrer')->setValue('Enregistrer');
            if(!$post){
                return new ViewModel(['form' => $classeForm]);
            }
            
            $refClasse = new RefClasse();        
            $hydrator = new ArraySerializableHydrator(); 
            
            $classeForm->bind($refClasse);
            $classeForm->setData($post);                 
            
            if(!$classeForm->isValid()){
               return new ViewModel(['form' => $classeForm]);
            }
            
            $data = $hydrator->extract($refClasse);
            $additionnalData = [
                'idRefUtilisateurCreation' => $this->user->getIdRefUtilisateur(),           
            ];        
            $mapperRefClasse->insert($data,$additionnalData);                
            $this->FLASH()->showMessage($this->TRANSLATOR()->translate('enregistrement-succes'));
            return $this->redirect()->toRoute('admin-fonctionnelle', ['action' => 'liste-des-classes']);            
        }
        
        
        
       
    }
```

---

<div class="post-metadata">

**Author:** ![froschdesign](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/froschdesign/32/38_2.png) [@froschdesign](https://discourse.laminas.dev/u/froschdesign)\
**Post date:** [February 4, 2021, 12:27pm UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091/2 "2021-02-04T12:27:45Z")

</div>

Please check if the package [laminas-mvc-i18n](https://docs.laminas.dev/laminas-mvc-i18n/) is installed. If not, then make sure [laminas-component-installer](https://docs.laminas.dev/laminas-component-installer/) is installed then install [laminas-mvc-i18n](https://docs.laminas.dev/laminas-mvc-i18n/).

The component installer will register laminas-mvc-i18n in your application automatically.

---

<div class="post-metadata">

**Author:** ![ebuddy](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/ebuddy/32/1536_2.png) [@ebuddy](https://discourse.laminas.dev/u/ebuddy)\
**Post date:** [February 4, 2021, 12:31pm UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091/3 "2021-02-04T12:31:32Z")

</div>

Thank you again 😏  
You’re awesome 👍 👍 👍

Everything works fine

---

<div class="post-metadata">

**Author:** ![froschdesign](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/froschdesign/32/38_2.png) [@froschdesign](https://discourse.laminas.dev/u/froschdesign)\
**Post date:** [February 4, 2021, 1:28pm UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091/4 "2021-02-04T13:28:00Z")

</div>

> [@ebuddy](#):
>
> Everything works fine

Great! 👍

* * *

Can you provide a link to a GitHub Gist with your class `Commun\Controller\NslabsAbstractController`. It smells like a god object. 🙈

---

<div class="post-metadata">

**Author:** ![ebuddy](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/ebuddy/32/1536_2.png) [@ebuddy](https://discourse.laminas.dev/u/ebuddy)\
**Post date:** [February 28, 2021, 6:11am UTC](https://discourse.laminas.dev/t/form-validation-failed-on-submit/2091/5 "2021-02-28T06:11:34Z")

</div>

OK ok. I will do it 🤗🤗🤗
