0

我正在使用带有 Java 的 Play Framework 1.2.5。我有一个登录表单。我正在尝试使用必需的检查来验证登录表单,即用户名和密码都是必需的。我做了这段代码:

 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>

如果其中任何一个或两者都不存在,那么我想显示特定的消息,即如果用户名不存在,那么消息应该是“请提供用户名!!!”。目前,它正在显示一条常见消息。

请让我知道如何实现这一目标。

4

1 回答 1

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

祝你好运!

于 2013-01-25T15:42:13.073 回答