本当に何て事のない手法ですが、
知らないとカスタムバリデーターの作成とか、Controller内でバリデーション実行とかやっちゃいかねないのと、
検索しても中々簡単な方法見つからなかったので書いときます。
例えば、以下のように2つのフィールドがあり、
nameに何か値が入っている時のみ、nameKanaが必須入力だとします。
java
private String name;
private String nameKana;
この場合、getterを一個でっち上げて、そっちにバリデータをいれます。
java
/**
* バリデーション用getter
* special thanks to tag1216
*/
@AssertTrue(message="名前を入れたらカナも入れてちゃぶ台")
public boolean isValidNameAndKana(){
if(StringUtils.isEmpty(this.name)){
return true;
}
if(StringUtils.isEmpty(this.nameKana)){
return false;
}
return true;
}
で、JSP側には、上記のgetterに対応した名前で、エラーメッセージ表示用のタグを書きます。
jsp
<form:errors path="validNameAndKana" ... />
以上です。