Hibernateの実装でJSR-303のバリデーションが統合されたSpringを使用してフォームを検証しようとしています。私は確認したい "確認メール"(emailConf
)フィールドがemail
フィールドに等しいことを確認します。Spring MVC 3検証アノテーション - メールの確認
public class ContactInfoForm {
@NotEmpty
private String name;
@NotEmpty
@Email
private String email;
@Expression(value = "emailConf= email", applyIf = "emailConf is not blank")
private String emailConf;
...
}
しかし、このemailConf
検証が動作しない(フィールドが一致しない場合、すなわちエラーが発生しない):私はこのようにそれをやって誰かのポストを見ました。類似の注釈を示したチュートリアルをいくつか見たことがありますが、これ以上の検索はできません。アノテーションを使って「電子メール/パスワードの確認」フィールドを検証する方法を知っている人はいますか?私は現在Validator
を実装し、validateメソッドの確認フィールドを検証する代わりの方法を使用しています。
この '@ Expression'アノテーションはどこにありますか? – Ralph
私はそれを認識しませんでしたが、@Expressionアノテーションは私が気づいていなかった "spring-modules"からのもので、私のクラスパスに残っています。バリデーションのチュートリアルに従っていたときにクラスパスに入れましたが、JSR-303とHibernate Validatorを使用してしまいました。 SpringSourceのフォーラムページには、2010年8月の「Spring Extensionsのために廃止されたSpringモジュールフォーラム」という発表があります。サポートされなくなった場合は、このライブラリを使用しないことをお勧めします。 –