我正在使用Play Framework 1.2.5和Java。我有一个登录表单。我正在尝试使用必需的检查来验证登录表单,即用户名和密码都是必需的。我做了这段代码:
public static void welcome(@Required String txtUserName, @Required String txtPassword){
if(Validation.hasErrors()){
flash.error("Oops!!! Please enter your credentials!");
login();
}
render(txtUserName,txtPassword);
}
为了显示消息,这就是我在heml页面中的内容:
<td align="right">
#{if flash.error}
<p style="color: red;">
${ flash.error }
</p>
#{/if}
</td>
如果其中任何一个或两个都不存在,那么我想显示特定的消息,即如果没有用户名,则消息应为“请提供用户名!!!”。目前,它正在显示一条共同信息。
请告诉我如何实现这一目标。
答案 0 :(得分:1)
Validation类有一个方法hasError:
/**
* @param field The field name
* @return True is there are errors related to this field
*/
public static boolean hasError(String field) {
return error(field) != null;
}
尝试使用此方法:
if(validation.hasError("name_of_username_form_field")){
flash.error("Username required");
login();
}else if (validation.hasError("name_of_password_form_field")){
flash.error("Password required");
login();
}
字段名称必须与groovy模板中输入元素的名称匹配。
祝你好运!