تحرير ملف التعريف مع التحقق من صحة حقل كلمة المرور

1

أضفت بعض قواعد التحقق على كيان المستخدم لأنني واجهت بعض الأخطاء عندما لم يملأ المستخدمون كل الحقول ، وخاصة حقل كلمة المرور.

كيان المستخدم:

    /**
 * @Assert\Length(
 *     min=8,
 *     max=4096,
 *     minMessage="Votre mot de passe n'est pas assez long.",
 *     maxMessage="Votre mot de passe est trop long."
 * )
 * @Assert\NotNull(message="Veuillez renseigner un mot de passe.")
 */
protected $plainPassword;

إنه يعمل كما هو متوقع مع نموذج التسجيل. مع نموذج التحرير ، لدي دائمًا خطأ في التحقق من الصحة في حقل كلمة المرور. لا يحتوي نموذج التعديل الخاص بي على حقل كلمة المرور. كيف يمكنني أن أجعلها تعمل؟

تحرير النموذج:

        $builder->add('username'         , IntegerType::class)
            ->add('nom'              , TextType::class)
            ->add('prenom'           , TextType::class)
            ->add('email'            , EmailType::class)
            ->add('dateNaissance'    , DateType::class)
            ->add('telephonePortable', TextType::class)
            ->add('adresse'          , TextType::class)
            ->add('codePostal'       , TextType::class)
            ->add('ville'            , TextType::class)
            ->add('enabled', ChoiceType::class)
            ->add('photo', FileType::class)
            ->add('plainPassword', HiddenType::class)
            ->add('submit');

1 إجابة

0

لقد واجهت مشكلة مماثلة هنا. لقد قمت بحل هذا التأكيد على NotBlank في أداة إنشاء النماذج ، وليس في الكيان.

نوع المستخدم الخاص بي (النموذج المستخدم لإنشاء وتحرير)

class UserType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        if ($options['newUser']) {
            $builder
                ->add('plainPassword', RepeatedType::class, array(
                    'type'           => PasswordType::class,
                    'first_options'  => array('label' => 'Password'),
                    'second_options' => array('label' => 'Repeat Password'),
                    'required'       => true,
                    'constraints' => [
                        new NotBlank()
                    ]
                ))
                ->add('cpf', TextType::class)
            ;
        }

        $builder
            ->add('email', EmailType::class, array(
                'empty_data' => '',
            ))
            ->add('name', TextType::class, array(
                'empty_data' => '',
            ))
            ->add('dateOfBirth', DateType::class, array(
                'format' => 'yyyy-MM-dd',
            ))
            ->add('roles', ChoiceType::class, array(
                'multiple' => true,
                'choices'  => array(
                    'User'          => 'ROLE_USER',
                    'Administrator' => 'ROLE_ADMIN',
                ),
            ))
            ->add(
                'userAddress', UserAddressType::class, array(
                'data_class' => UserAddress::class,
            ))->getForm();
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(
            [
            'data_class'      => User::class,
            'csrf_protection' => false,
            'newUser'         => null,
        ]);
    }
}

وكياني:

 /**
 * @Assert\Length(max=4096)
 */
private $plainPassword;
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام