FOSUserBundle - Validation pour les champs nom d'utilisateur, mot de passe ou email
Dans le FOUserBundle, je voudrais être en mesure de modifier les paramètres de validation pour un minimum de longueur, la longueur maximale et le champ n'est pas vide sur des champs tels que le nom d'utilisateur et mot de passe.
J'ai pu mettre quelques validation par l'intermédiaire de @Assert
sur mon champs personnalisés, mais maintenant je me demande comment j'ai pu changer le nom d'utilisateur de validation pour le FOSUserBundle?
Ces champs sont générés automatiquement, donc je ne peux pas les ajouter à mon User
entité... et par défaut, il permet de personnages comme {^|
etc... qui ne sont pas bonnes.
source d'informationauteur M. Winterinho
Vous devez vous connecter pour publier un commentaire.
Vous pouvez remplacer les paramètres par défaut à la création d'une nouvelle validation de fichier dans votre bundle. C'est l'héritage de bundle. Il suffit de copier (pas de coupe).
FOSUserBundle/Resources/config/validation/orm.xml
àYourBundle/Resources/config/validation/orm.xml
.(
couchdb.xml
mongodb.xml
propel.xml
respectivement)et de l'ajuster à vos besoins. Changer le nom de la classe, puis l'ajouter à vos contraintes:
Lire plus à propos de laquelle les contraintes sont disponibles et comment les utiliser avec la configuration xml ) dans le Les Contraintes De Validation De Référence.
La chose la plus facile pour moi a été de remplacer la propriété dans mon entité personnalisée et modifier les paramètres de l'affirmation:
N'oubliez pas les groupes de validation.
Heads up:
user.password.short
traduction est dans levalidators
de Domaine de votre bundle dansYourBundle\Resources\translations\
.Exemple:
Ne sais pas si c'est la version spécifique; je suis en utilisant symfony v2.8.3 et fosuser ~2.0@dev (a39d000).
Dans YML vous serait de faire comme ceci: