3

ここに私のフォームビーンがあります:-

public class LoginFormBean {

    @NotEmpty
    private String userId;

    @NotEmpty
    private String password;    

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String pass) {
        this.password = pass;
    }
}

そして、私の message.properties ファイルに次のように書きます:-

NotEmpty={0} must not empty.

次のようなエラーメッセージが表示されます:userId must not empty.およびpassword must not empty.

しかし、エラーメッセージをUser Id must not empty.またはとして表示したい'Password must not empty.'

@NotEmpty(message="User Id must not empty")formBean で使用できることはわかっていますが、メッセージを変更する必要があるかのようにメッセージを同期したいので、オーバーヘッドが少なくなります。JSR ドキュメントを検索しましたが、属性名をその場で
置き換えるものは見つかりませんでした。2日から立ち往生している私を助けてください。 それが不可能な場合は教えてください。そうでない場合は、別の方法で私を助けてください。userIdUser Id

ありがとう
シャムス

4

3 に答える 3

4

おそらくこれは既に修正されていますが、JSR 303 フォーム Bean でエラー メッセージを設定するには、次の形式でプロパティ ファイルにエントリを追加する必要があります。

<Constraint-Name>.<formbean-name>.<attribute-name>=My Message Text

あなたの場合、それは次のようになります:

NotEmpty.loginFormBean.userId=User Id must not empty

NotEmpty.loginFormBean.password=Password must not empty

loginFormBean はフォームの名前であり、クラス名ではありません。

于 2011-06-16T18:11:49.477 に答える
0

同じ message.properties ファイルに、次を追加するだけです。

userId=User Id
password=Password

または、フィールド名に別のファイルを使用し、検証メッセージ コードに別のファイルを使用することもできます。これだけで読みやすくなります。

幸運を :)

于 2011-03-30T19:25:38.717 に答える
0

参考までに、BeanPropertyBindingResultインスタンスをログに記録してログを確認してください。検証に違反しているプロパティごとに、4 つの異なるタイプのプロパティ コードが見つかります。

参照用のサンプル ログは次のとおりです。

Field error in object 'member' on field 'name': rejected value []; codes [NotEmpty.member.name,NotEmpty.name,NotEmpty.java.lang.String,NotEmpty]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [member.name,name]; arguments []; default message [name]]; default message [may not be empty]

上記のログで見つけることができます codes [NotEmpty.member.name,NotEmpty.name,NotEmpty.java.lang.String,NotEmpty]

エラー コードを構成しないか、Spring が一致するコードを見つけられない場合、Spring は DefaultMessageCodesResolver を実行してエラー メッセージを解決します。その他のエラーコードの形式については、java docを参照してください。

于 2012-01-24T10:30:13.727 に答える