7
votes

Symonfy2 Validation: Définissez les contraintes en YML et validez un tableau

Tout ce que j'essaie de faire est:

  1. Définir des contraintes dans YML

  2. Utilisez-le pour valider un tableau

    dire, une matrice de produit: xxx

    Comment faire ça?


0 commentaires

3 Réponses :


-1
votes

dans votre validation.yml: xxx

et votre contenant de contient: xxx


1 commentaires

Ceci est pour valider un objet d'entité, pas ce que je veux




4
votes

Tout d'abord, vous devez savoir que Symfony2 validateurs ne sont pas prêts à le faire facilement. Il m'a fallu un peu de temps et une source de symfony2 de lecture pour obtenir une solution de travail pour votre cas, et ma solution n'est pas si naturelle.

J'ai créé une classe qui prend le validateur, votre tableau et votre fichier de configuration YAML afin que vous soyez " Je serai capable de faire ce que vous attendez. Cette classe étend le Yamlfileloader à partir de symfony pour accéder à la méthode Protégée Parsenodes : Ce n'est pas beau mais c'est le seul moyen que j'ai trouvé pour transformer un fichier de configuration YAML personnalisé en une matrice de contrainte objet.

donc nous sommes ici. Je vous donne mon code, vous devrez remplacer certains espaces de noms en fonction de votre propre contexte.

Tout d'abord, créez un contrôleur pour notre démo: xxx

puis créer une classe nommée arrayvalidator.php. Encore une fois, prenez soin de l'espace de noms. xxx

Enfin, testez-le avec différentes valeurs de votre réseau $ produit.

Par défaut: xxx

affichera: xxx

si nous modifions des valeurs à: xxx

Vous obtiendrez: xxx

espère que cela aide.


1 commentaires

Merci, c'est une bonne réponse / explication. Dieu te bénisse;)