显示正确的验证消息

时间:2013-01-25 13:51:35

标签: java playframework playframework-1.x

我正在使用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>

如果其中任何一个或两个都不存在,那么我想显示特定的消息,即如果没有用户名,则消息应为“请提供用户名!!!”。目前,它正在显示一条共同信息。

请告诉我如何实现这一目标。

1 个答案:

答案 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模板中输入元素的名称匹配。

祝你好运!