7

@AssertTrueアノテーションの結果として発生するビューjsp検証エラーメッセージを表示するにはどうすればよいですか?特定のフィールドに関連付けられていませんが、フィールドの組み合わせを検証するために使用しています。使用<form:errors path="*"/>すると、そのフォームのすべてのエラーが表示されますか?

4

3 に答える 3

21

私がテストしたことから、テスト関数にどのように名前を付けるが重要です。そして、あなたはそれを適切に名付けるべきです。

field、getter、setterは必要ありませんが、関数は「is*」ステートメントで開始する必要があります。

fe。

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

また

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

ただし、次のようなパス付きのエラーフォームを使用する必要がある場合は、フィールドとゲッター/セッターが必要です。

<form:errors path="someFieldToDisplay" />

しかし、これは非常に明白だと思います。


私が踏み込んでいないが役立つかもしれないいくつかのスキーマの問題:

これも役立つかもしれません: エラーメッセージの欠如

ただし、versionタグなしでスキーマを使用すると、デフォルトで最新バージョンが使用されます。

于 2013-09-25T14:09:09.490 に答える
9

ブールプロパティを宣言することは、これに有効であるように思われます。したがって、ある場合:

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

次に、次のようなプロパティを宣言します。

private boolean conditionTrue;

動作します。

于 2010-05-19T00:45:25.957 に答える
1

プロパティには次のような名前を付ける必要があります。

@AssertTrue(message = "....")
private boolean conditionTrue; //***NOT isConditionTrue***

public boolean isConditionTrue() {
    return conditionTrue;
}

public void setConditionTrue(boolean conditionTrue) {
    this.conditionTrue= conditionTrue;
}

<form:errors path="*"/> or
<form:errors path="conditionTrue"/>
于 2014-01-26T08:45:55.150 に答える