【发布时间】:2015-08-25 16:14:52
【问题描述】:
我开始使用 Play 框架,现在正在使用 Play 的验证功能。我尝试验证表单字段,如下面的视图模型类所示。
public class ViewModel {
@Required(message = "Please enter username")
public String username;
@Required(message = "Please enter the password")
public String password;
}
下面是相同的简单演示 UI。
现在,当输入的用户名和密码在数据库检查时不正确时,我想抛出一个全局错误消息。
以下是我的控制器操作中的代码
Form<ViewModel> formData = Form.form(ViewModel.class).bindFromRequest();
if (formData.hasErrors()) {
Logger.info("There are server side validation errors in the form..");
return badRequest(index.render(formData));
} else {
if(notFoundInDb){
//check against db
// some db related code here assuming record not found in db
ViewModel user = formData.get();
//formData.error("invalid username and password");
return badRequest(index.render(formData));
}else{
//success
return redirect("/nextAction");
}
}
我曾尝试使用formData.error("invalid username and password");但不确定。在显示全局错误消息的视图模板中,我使用了以下代码。
@if(signIn.hasGlobalErrors) {
<p>
@signIn.globalError.message
</p>
}
如何从控制器操作中抛出一些不错的全局错误消息?我正在使用 Play 2.4.2 版本。
【问题讨论】:
标签: playframework playframework-2.0