public static Result authenticate() {
Form<LoginForm> loginForm = form(LoginForm.class).bindFromRequest();
if (loginForm.hasErrors()) {
return ok(views.html.Account.index.render(loginForm));
} else {
String email = loginForm.get().email;
User user = User.findByUsername(email);
if (Hash.checkPassword(loginForm.get().password, user.passwordHash)) {
// set session
session("email", email);
return redirect(routes.UserController.view(user.getId()));
} else {
return badRequest(views.html.Account.index.render(loginForm));
}
}
}
このコードを使用してユーザーを認証しますが、ログイン中に問題が発生した場合 (無効なユーザー名/パスワードなど) にエラー メッセージを表示したいと考えています。しかし、このオンラインでドキュメントを実際に見つけることはできません。エラー メッセージにフラッシュを使用することに関するドキュメントのほとんどは Play 1.x に関するものです。
1) このログイン機能にエラー メッセージを追加するにはどうすればよいですか?
2) ビューでこれらのエラー メッセージにアクセスするにはどうすればよいですか?
3) Play のフォームクラスは (一般的に) どのように機能しますか? エラーの作成と処理を処理します (また、エラーにアクセスするにはどうすればよいでしょうか?)
ありがとう!:-)