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! обрабатывать создание и обработку ошибок (и как мы можем получить к ним доступ?)
Спасибо! :-)