Validation manuelle d'un objet avec le composant de validation Symfony
Publié le 09/08/2023 • Actualisé le 09/08/2023
Dans un bout de code précédent, nous avons vu comment valider un tableau avec le service de validation existant de Symfony. Dans ce bout de code, nous créons manuellement un validateur, puis, nous validons un objet contenant des attributs d'assertions comme #[Assert\NotBlank]
.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
use App\Samples\ProductSample;
use Symfony\Component\Validator\ConstraintViolation;
use Symfony\Component\Validator\Validation;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet267Trait
{
public function snippet267(): void
{
$validator = Validation::createValidatorBuilder()
->enableAttributeMapping()
->getValidator();
$product = new ProductSample();
/** @var ConstraintViolation $violations */
$violations = $validator->validate($product);
echo 'Violations: '.PHP_EOL.$violations;
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Plus sur le web Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
