Bonjour,

je débute sur Symfony. Je suis confronté à un problème lors de l'utilisation de Sonata.

J'ai un formulaire d'inscription qui vérifie la saisie du mot de passe de l'utilisateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    /**
     * @Assert\NotBlank()
     * @Assert\Length(max=4096)
     */
    private $plainPassword;
 
    …
 
    public function getPlainPassword()
    {
        return $this->plainPassword;
    }
 
    public function setPlainPassword($password)
    {
        $this->plainPassword = $password;
    }
Dans Sonata si je n'ajoute pas le champ plainPassword :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$formMapper
			->with('Informations', ['class' => 'col-md-9'])
				->add('id', null, ['required'=>false])
				->add('email', EmailType::class, ['label' => 'email'])
				->add('prenom', TextType::class, ['label' => 'prenom'])
				->add('nom', TextType::class, ['label' => 'nom'])
				//->add('plainPassword', TextType::class, ['label' => 'pw'])
				->add('city', TextType::class, ['label' => 'city','required'=>false])
				->add('country', CountryType::class, array(
					'preferred_choices' => array('France', 'FR'),
					'label' => 'country'))	
				->add('language', ChoiceType::class, array(
					'choices' => array(
						'Français' => 'fr',
						'English' => 'en',
						'Deutsch'   => 'de',
					),
					'preferred_choices' => array('Français', 'fr'),
					'label' => 'language'))
			->end()
j'ai une erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
ConstraintViolation {#1102 ▼
  root: Form {#915 …}
  path: "data.plainPassword"
  value: null
}
L'administrateur ne doit pas gérer le mot de passe des utilisateurs. Je sèche.