Symfony2 - forme Dynamique de choix de validation supprimer
J'ai une liste déroulante d'éléments de formulaire. Au départ, il commence à vide, mais il est rempli avec les valeurs via javascript après que l'utilisateur a fait quelques interactions. C'est en travaillant tous ok. Cependant, quand je soumettre elle renvoie toujours une erreur de validation This value is not valid.
.
Si j'ajoute des éléments à la liste de choix sous la forme de code, il va valider OK, cependant je suis en train de le remplir de façon dynamique et d'avant en ajoutant les éléments de la liste de choix n'est pas d'aller travailler.
Le problème, je pense, parce que la forme est la validation de contre le une liste vide d'éléments. Je n'en veux pas à valider sur une liste à tous. J'ai mis de validation nécessaires à la faux. Je suis passé de la chocie type de texte et qui passe toujours de validation.
Cela ne fera que valider contre, les lignes vides ou des éléments ajoutés à la liste de choix de
$builder->add('verified_city', 'choice', array(
'required' => false
));
Question similaire ici qui n'a pas répondu.
La validation de charger dynamiquement des choix dans Symfony 2
Dire que vous ne savez pas ce que tous les choix disponibles sont. Il pourrait être chargé à partir d'un web externe source?
OriginalL'auteur Robbo_UK | 2013-08-13
Vous devez vous connecter pour publier un commentaire.
après beaucoup de temps de déconner essayant de le trouver. En gros, vous avez besoin d'ajouter un
PRE_BIND
auditeur. Vous ajoutez un peu de supplément de choix juste avant de vous lier les valeurs prêt pour la validation.$choices
tableau? Tous les conseils?Merci pour cette réponse. Exemple plus détaillé de cette approche (mais en utilisant les PRE_SUBMIT): showmethecode.es/php/symfony/symfony2-4-dépendante-formes
Et subtilement différent de l'exemple (secondaire seulement ajouté pour former après le premier domaine est soumis, à l'aide de POST_SUBMIT) de l'Symfony-docs: symfony.com/doc/current/cookbook/form/...
OriginalL'auteur Robbo_UK
La validation est assurée par le programme de validation de la composante: http://symfony.com/doc/current/book/validation.html.
La
required
option dans la Forme de la couche est utilisé pour contrôler le HTML5required
attribut, donc ça ne changera rien pour vous, et c'est normal.Ce que vous devez faire est de configurer la Validation de la couche en fonction de la documentation liée ci-dessus.
symfony.com/doc/current/book/...
J'ai lu la documentation et essayé d'ajouter une validation avec min - max contraintes de 0 et 255 et il ne marche pas. Il veut toujours seules options à partir d'une liste pré-définie.
Ok, donc je suppose que cela peut vous aider: symfony.com/doc/current/cookbook/form/....
je veux juste désactiver la validation qui semble tourner autour de la maisons et de le rendre plus complexe qu'elle en a besoin.
OriginalL'auteur William Durand
Trouvé une meilleure solution que j'ai posté ici: Désactiver le backend de validation pour un champ de choix dans Symfony 2 Type
Vieille réponse:
Viens de passer quelques heures de remédier à ce problème. Ce choix de type est vraiment ennuyeux. Ma solution est semblable à la vôtre, peut-être un peu plus court. Bien sûr, c'est un hack, mais que pouvez-vous faire...
OriginalL'auteur Atan
Ajouter ceci à l'intérieur
buildForm
méthode dans votre classe de type de formulaire, de sorte que vous pouvez valider un champ de saisie de la valeur plutôt un choix à partir d'un champ de sélection de valeur;OriginalL'auteur ssrp
Mise à jour dans des Validations.yml
Aimablement mise à jour de la Validation.fichier yml dans le format ci-dessous : paramètre le nom du groupe dans chaque domaine
Mise à jour de l'Entité
/**
* @var string
*
* @ORM\Column(name="password", type="text")
* @Assert\Regex(
* pattern="/(?i)^(?=.[a-zA-Z])(?=.\d).{8,}$/",
* match=true,
* message="Your password must be at least 8 characters, including at least one number and one letter",
* groups={"Default","edit"}
* )
*/
private $password;
OriginalL'auteur Thiru