изменить пароль участника в Symfony 3.4 - PullRequest
0 голосов
/ 31 мая 2018

Я создаю пользователя формы пакета в Symfony 3.4

все отлично работает. Моя форма регистрации работает.и я могу зарегистрировать пользователя. и я могу войти тоже.Я пытаюсь создать форму редактирования для члена. Я не могу изменить пароль участника.Я прочитал это сообщение , но у меня нет никакого результата .. кто-нибудь знает, где моя ошибка

это мой пользовательский объект

/**
     * @Assert\NotBlank()
     * @Assert\Length(max=4096)
     */
    private $plainPassword;

    /**
     * The below length depends on the "algorithm" you use for encoding
     * the password, but this works well with bcrypt.
     *
     * @ORM\Column(type="string", length=64)
     */
    private $password;

 public function getPlainPassword()
    {
        return $this->plainPassword;
    }

    public function setPlainPassword($password)
    {
        $this->plainPassword = $password;
    }
 public function getPassword()
    {
        return $this->password;
    }

    public function setPassword($password)
    {
        $this->password = $password;
    }
  public function eraseCredentials()
    {
    }

UserType

    .
    .
    .

    ->add('oldPlainPassword', \Symfony\Component\Form\Extension\Core\Type\PasswordType::class, array(
    'constraints' => array(
        new \Symfony\Component\Security\Core\Validator\Constraints\UserPassword(),
    ),
    'mapped' => false,
    'required' => true,
    'label' => 'Current Password',
    ))

       ->add('plainPassword', RepeatedType::class, array(
                    'type' => PasswordType::class,
                    'first_options'  => array('label' => 'Password'),
                    'second_options' => array('label' => 'Repeat Password'),
                ))
            ;
        }
    .
    .
    .

мой контроллер

    .
    .
    .
   /**
     * @Route("/admin__/EditUser/{id}" ,name="editUser")
     */
    public function EditUserAction(Request $request, $id)
    {
    .
    .
    .
  if ($request->getMethod() == Request::METHOD_POST){
  $form->handleRequest($request);
    .
    .
    .
    $password = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
           $user->setPassword($password);

   .
   .
   .
   $em->flush();

edit_user.html.twig

 {{ form_row(form.plainPassword.second) }}
    {{ form_row(form.plainPassword.first) }}
    {{ form_row(form.oldPlainPassword) }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...