编辑用户和密码

问题描述 投票:0回答:1

我需要帮助,请与我在symfony的4应用程序。

我尝试编辑用户,但我并不需要更改密码。

这是我的代码:

   $form = $this->createForm(UtilisateurType::class, $utilisateur);
    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {
        $utilisateur->setPassword($passwordEncoder->encodePassword($utilisateur, $utilisateur->getPassword()));
        $this->em->merge($utilisateur);
        $this->em->flush();
        $this->addFlash('success', 'Edition Utilisateur avec succés');

        return $this->redirectToRoute('admin.adminadmin.list');
    }

    return $this->render(
        'admin/edit.html.twig',
        [
        'form' => $form->createView(),
        ]
    );

当我尝试保存用户Symfony的空白得到了密码。


我FormType是:

$builder
        ->add('nom', TextType::class)
        ->add('prenom', TextType::class)
        ->add(
            'role',
            ChoiceType::class,
            [
            'choices' => [
                'Administrateur' => 'ROLE_ADMIN',
                'Commercial' => 'ROLE_COM',
            ],
            ]
        )
        ->add('quota_fiche', HiddenType::class)
        ->add(
            'username',
            EmailType::class,
            [
            'label' => 'Email',
            ]
        )
        ->add(
            'password',
            RepeatedType::class,
            [
            'type' => PasswordType::class,
            'invalid_message' => 'Les mots de passes ne sont pas identique.',
            'options' => ['attr' => ['class' => 'password-field'], 'always_empty' => false],
            'required' => true,
            'first_options'  => ['label' => 'Mot de Passe'],
            'second_options' => ['label' => 'Confirmer Mot de Passe'],
            ]
        );

我用这个:

$utilisateur->setPassword($passwordEncoder->encodePassword($utilisateur, $utilisateur->getPassword()));

因为我觉得这是在DB获得旧密码的方法。

symfony-forms symfony4
1个回答
0
投票

你的问题是在这里:

$utilisateur->setPassword($passwordEncoder->encodePassword($utilisateur, $utilisateur->getPassword()));

但是,我要看看你的formType识别真正的问题之前,

© www.soinside.com 2019 - 2024. All rights reserved.