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));
}
}
}
我们使用此代码对用户进行身份验证,但我们希望在登录过程中出现问题(无效的用户名/密码等)时显示错误消息。但是,我们在网上找不到任何关于此的文档——因为大多数关于使用 flash 获取错误消息的文档主要是针对 Play 1.x 的。
1) 我们如何向此登录功能添加错误消息?
2)我们如何在视图中访问这些错误消息?
3) Play 中的表单类(通常)如何处理!处理错误的创建和处理(以及我们如何访问它们?)
谢谢!:-)