validation.xml
で定義された検証ルールに対して任意のパスワードをチェックする方法を知りたいと思います。私は、管理者のユーザーが他の管理者のユーザーを作成できる管理ページを作成しました。匿名ユーザーが/register
ページで自分のアカウントに登録したときと同じルールを使用して、これらのユーザーを検証したいと考えています。私が見ることのできるところから、これらのルールはvalidation.xml
で定義されています。ユーザマネージャで作成されたユーザのパスワードを検証するにはどうすればよいですか?
$userManager = $container->get('fos_user.user_manager');
$user = $userManager->createUser();
$user->setPlainPassword('1');
$arrayOfErrors = functionThatValidatesUserPassword($user);
、あるいは直接、このようなパスワードに関数を呼び出す:
$arrayOfErrors = functionThatValidatesUserPassword('1');
私はここにfunctionThatValidatesUserPassword
を置き換えるために何を使うべき
だから基本的に私はこのような何かをしたいですか?
は私がバリデータサービスが動作するかもしれないと思ったが、私は
$validator = $this->get('validator');
$errors = $validator->validate($user);
print_r($errors);exit;
をしようとすると、私はエラーの空のリストを取得します。 /register
ページに同じパスワードのアカウントに登録すると、「パスワードが短すぎます」というエラーが表示されることを期待していました。
私はSymfony 3.4とFosUserBundle 2.0を使用しています。
私の質問への回答を探している間、私はvalidation.xml
ファイルで定義されたルールを上書きする方法を説明する以下の2つのポストを見つけました。
私は、検証ルールを上書きすることを計画んが、今の私はちょうどFosUserBundleが付属して組み込みのルールを使用して自分のパスワードを検証したいです。
@bangbambangはいそれは申し訳ありませんが、眠くなったと誤って私の最後のコメントを削除 –
私はカスタムvalidation.xmlファイルで作成したルールを使用して、正しいです:私のコードは次のようになりますので、私は、登録グループを使用しました。 'createUser()'がエンティティを返すと仮定すると、バリデータサービス*は動作するはずです。 SFのどのバージョンを使用していますか? – bangbambang
@bangbambang Symfony 3.4、FosUserBundle 2.0 –