Symfony 3.4 と FOSUserBundle を使って複数のユーザーを持つウェブサイトを構築しています。
権限を持つ管理ユーザーは他のユーザーの情報を自由に書き換えられるようにしたいのですが、「現在のパスワード」の欄に正しいパスワードを入れてもUserPasswordバリデーションが通りません。
原因はUserPasswordは入力値と現在ログイン中のユーザーのパスワードが一致するか検証するためのようで、ログインユーザー自身しか編集できません。
php
1$user = $em->getRepository('MyBunde:User')->find($id); 2$formFactory = $this->get('fos_user.profile.form.factory'); 3 4$form = $formFactory->createForm(); 5$form->setData($user); 6$form->handleRequest($request); 7 8if ($form->isValid()) { 9 // isValid() は false 10}
公式の手順を参考にProfileFormTypeをオーバーライドしようとしてみたのですが項目追加はできても既存項目の編集についてはよくわかりませんでした。
どのようにすれば現在ログイン中のユーザー以外の情報を変更することができるのでしょうか?
あなたの回答
tips
プレビュー