0

私はJavaでPlayFramework1.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 に答える