Commit c42519a1 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Validators fonctionnels

parent 819b4b56
Loading
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -315,11 +315,6 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle
            $form->setData($data);

            if ($form->isValid()) {
                if ($this->individuService->existIndividuUtilisateurByEmail($data['email'])) {
                    $error = "Addresse électronique déjà renseignée dans SyGAL.";

                } else {

                if ($data['nomPatronymique'] === '') $data['nomPatronymique'] = $data['nomUsuel'];

                /** @var Individu $individu */
@@ -344,12 +339,10 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle
                $this->redirect()->toRoute('utilisateur');
            }
        }
        }


        $form->prepare();
        return new ViewModel([
            'form' => $form,
            'error' => $error,
        ]);
    }
}
 No newline at end of file
+23 −8
Original line number Diff line number Diff line
@@ -10,11 +10,15 @@ use Zend\Form\Element\Text;
use Zend\Form\Element\Hidden;
use Zend\Form\Form;
use Zend\InputFilter\Factory;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterProviderInterface;
use Zend\Mvc\Application;

class CreationUtilisateurForm extends Form
class CreationUtilisateurForm extends Form implements InputFilterProviderInterface
{



    public function init()
    {
        //$this->setObject(new RdvBu());
@@ -53,7 +57,18 @@ class CreationUtilisateurForm extends Form
            ->setAttribute('class', 'btn btn-primary')
        );

        $this->setInputFilter((new Factory())->createInputFilter([
        //$this->setInputFilter((new Factory())->createInputFilter());
    }

    /**
     * Should return an array specification compatible with
     * {@link Zend\InputFilter\Factory::createInputFilter()}.
     *
     * @return array
     */
    public function getInputFilterSpecification()
    {
        return [
            'civilite' => [
                'name' => 'civilite',
                'required' => true,
@@ -73,11 +88,11 @@ class CreationUtilisateurForm extends Form
            'email' => [
                'name' => 'email',
                'required' => true,
//                'validators' => [
//                    [
//                        'name' => NewEmailValidator::class,
//                    ],
//                ],
                'validators' => [
                    [
                        'name' => NewEmailValidator::class,
                    ],
                ],
            ],
            'password' => [
                'name' =>'password',
@@ -88,6 +103,6 @@ class CreationUtilisateurForm extends Form
                    ],
                ],
            ],
        ]));
        ];
    }
}
 No newline at end of file
+2 −5
Original line number Diff line number Diff line
@@ -6,13 +6,10 @@ use Application\Form\Validator\NewEmailValidator;
use Doctrine\ORM\EntityManager;
use Zend\Validator\ValidatorPluginManager;

class NewEmailValidatorFactory {

class NewEmailValidatorFactory
{
    public function __invoke(ValidatorPluginManager $validatorPluginManager)
    {

        var_dump("Dans la factory");

        /** @var EntityManager $entityManager */
        $entityManager = $validatorPluginManager->getServiceLocator()->get('doctrine.entitymanager.orm_default');

+3 −3
Original line number Diff line number Diff line
@@ -24,9 +24,9 @@ use Application\View\Renderer\PhpRenderer;
<h3> Formulaire de création </h3>
<?php

    if ($error !== null) {
        echo $this->messenger()->addMessage($error, 'danger');
    }
//    if ($error !== null) {
//        echo $this->messenger()->addMessage($error, 'danger');
//    }
    echo $this->form($form);

?>
 No newline at end of file