Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 2.1] Constraint : personnalisé

avec dépendance

    27 septembre 2012 à 12:21:51

    Salut,

    Je galère depuis déjà un moment et malgré la lecture de la documentation sur le sujet, je ne vois pas ce que je dois mettre pour déclarer ma nouvelle contrainte en tant que service comme dans la doc.

    Voici mon code :
    namespace Mon\MagnifiqueBundle\Validator\Constraints;
    
    use Symfony\Component\Validator\Constraint;
    use Symfony\Component\Validator\ConstraintValidator;
    
    /**
    * @Annotation
    */
    class choiceCivilityValidator extends ConstraintValidator{
        public function validate($value, Constraint $constraint){
            if( is_null($value) || $value === '' ){
                $this->context->addViolation($constraint->message, array('%string%' => $value));
            }
        }
    }
    

    et
    namespace Mon\MagnifiqueBundle\Validator\Constraints;
    
    use Symfony\Component\Validator\Constraint;
    
    /**
    * @Annotation
    */
    class choiceCivility extends Constraint{
        public $message = 'Cette valeur est obligatoire';
    }
    
    public function validatedBy()
    {
        return 'choiceCivility';
    }
    

    et le yml
    services:
        validator.unique.choiceCivility:
            class: Mon\MagnifiqueBundle\Validator\Constraints\choiceCivility;
            tags:
                - { name: validator.constraint_validator, alias: choiceCivility }
    

    Actuellement j'ai ce message d'erreur : " InvalidArgumentException: "'Mon\\MagnifiqueBundle\\Validator\\Constraints\\choiceCivility;'" is not a valid class name for the "validator.unique.choicecivility" service."

    Je ne vois pas du tous ce qu'il attend, pourriez vous me dire comment corriger pour que ca fonctionne ?

    Par avance merci.
    • Partager sur Facebook
    • Partager sur Twitter
      27 septembre 2012 à 15:22:35

      Et l'erreur, tu l'as lue ?
      • Partager sur Facebook
      • Partager sur Twitter
        27 septembre 2012 à 16:12:21

        Lu et j'ai bien tenté de tous corriger mais quelque chose m'échappe dans ce que je dois mettre. Donc ok le nom lui va pas mais je suis censé mettre quoi ?
        • Partager sur Facebook
        • Partager sur Twitter
          27 septembre 2012 à 17:14:42

          Tu as essayé de comparer le validateur donné en exemple sur le lien que tu as mis (ContainsAlphanumericValidator.php) avec ce que toi tu as écrit ?
          • Partager sur Facebook
          • Partager sur Twitter
            27 septembre 2012 à 17:55:16

            Oui et je ne vois rien de spécial
            • Partager sur Facebook
            • Partager sur Twitter
              27 septembre 2012 à 23:07:41

              Enlève le point virgule à la fin ;)
              • Partager sur Facebook
              • Partager sur Twitter
                28 septembre 2012 à 7:25:03

                Citation : bouzbou

                Enlève le point virgule à la fin ;)


                Effectivement, j'ai encore jamais vu ça :

                Citation

                class: Mon\MagnifiqueBundle\Validator\Constraints\choiceCivility;



                Bye
                • Partager sur Facebook
                • Partager sur Twitter
                  24 janvier 2017 à 16:19:19

                  bouzbou a écrit:

                  Enlève le point virgule à la fin ;)


                  merci
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [Symfony 2.1] Constraint : personnalisé

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown