Bonjour,
Pourquoi la validation de cette classe ne fonctionne pas ?
À noter que j'utilise juste le package validator (v2.1.0) en standalone (en dehors de Symfony).
Voici ce que j'ai fait.
Autoload
Classe de test avec @Assert
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 require_once 'Symfony/Component/ClassLoader/UniversalClassLoader.php'; use Symfony\Component\ClassLoader\UniversalClassLoader; $loader = new UniversalClassLoader(); $loader->registerNamespace('Symfony', __DIR__ . '/'); $loader->register(); use Symfony\Component\Validator\Validator; use Symfony\Component\Validator\Mapping\ClassMetadataFactory; use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\ConstraintValidatorFactory;
Validation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Author { /** * @Assert\NotBlank() * @Assert\MinLength(3) */ public $name; } $author = new Author();
Résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $validator = new Validator( new ClassMetadataFactory(new StaticMethodLoader()), new ConstraintValidatorFactory() ); $errors = $validator->validate($author); if (count($errors) > 0) { var_dump($errors); } else { echo 'The author is valid! Yes!'; } var_dump($author, $errors);
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 The author is valid! Yes! object(Author)[2] public 'name' => null object(Symfony\Component\Validator\ConstraintViolationList)[12] protected 'violations' => array empty
Partager