2013-09-03 2 views
1

J'ai un problème avec les groupes de validation.Groupes de validation pour le changement de mot de passe dans Symfony 2?

Lorsque créant un utilisateur:

  • password ne peut être vide
  • password longueur doit être comprise entre 4 et 16 caractères

Lorsque édition un utilisateur:

  • password peut être vide
  • password devrait se situer entre 4 et 16 caractères s'il est rempli

Ma validation de l'entité utilisateur YAML, déclarant le groupe create:

My\Entity\User: 
    properties: 
    username: 
     - NotBlank: ~ 
     - Length: { min: 4, max: 12 } 
    email: 
     - Email: ~ 
     - Length: { max: 255 } 
    plainPassword: 
     - NotBlank: 
      groups: [create] 
     - Length: { min: 4, max 16 } 

Pour autant que je savoir par défaut est le groupe contenant tous les validateurs appartenant à n'importe quel groupe (c'est-à-dire à NotBlank pour le mot de passe). Le groupe create contient uniquement la règle NotBlank pour plainPassword. Alors:

  • création: default + create groupes
  • édition: default groupe

Je suis Passig array('validation_groups' => array('default', 'create')) quand dans mon createAction action du contrôleur, et quand array('validation_groups' => array('default'))editAction est invoquée.

Cela ne fonctionne pas: lorsque éditer le mot de passe peut être vide (correct) mais s'il est rempli aucune erreur se produit si - disons - il est de 3 caractères.

Répondre

1

Le groupe par défaut n'est-il pas censé être utilisé comme Default avec le capital D?

+0

Ne sait pas mais ... peut-être? En ce moment, il ne se plaint pas du groupe. Je vais essayer demain au travail, merci pour l'indice. – gremo

+0

Fonctionne, se sentant si stupide pour la lettre majuscule ... merci! – gremo

Questions connexes