パスワードのリセットに使用される Spring MVC Web ページがあります。これには、次の検証ワークフローを実行する必要があります。
- ユーザー名またはメールアドレスを入力してください
- 電子メールが提供されている場合は、有効な形式であることを確認してください (例: @Email)
次の方法でユーザーが存在することを確認します。
3a) ユーザー名を介してデータベースからユーザーをロードしようとしています
3b) ユーザー名によるロードで が返されnull
た場合は、電子メールを介してデータベースからユーザーをロードしてみてくださいロード後、ユーザーがロックアウトされていないことを確認します。
user.isLocked()
現在、これらの検証はすべてorg.springframework.validation.Validator
ただし、これには、UserService
ユーザーをロードできるように、バリデーターがオブジェクトにアクセスできる必要があります。これにより、ユーザーは 2 回ロードされます。1 回目は my バリデータによって、2 回目は my によってロードされるController
ため、.resetPassword(User)
.
質問: 項目 3 はどこで確認すればよいですか?
それらの検証は Controller により適していますか? 検証をそのままにしておくと、バリデーターからユーザーを返すことができvoid
ますか (バリデーター インターフェイスによるメソッドがあります)。