2011-10-17 17 views
1

私はSpring MVCのBean検証を使用しています。また、Springは、検証に失敗したアノテーションが定義されているBeanプロパティ、およびBean自体のクラスベースの制約にバインドします。 Bean Validation(JSR303)制約をBeanプロパティに割り当てる方法を教えてください。

私の問題は、いくつかのクラスベースバリデーション制約を使用していますが、検証に失敗したクラスをクラスに割り当てるのではなく、プロパティの1つに割り当てるべきです。例えば

@ScriptAssert(lang = "javascript", script = "_this.passVerify.equals(_this.pass)") 
public class MyBean { 
    @Size(min=6, max=50) 
    private String pass; 

    private String passVerify; 
} 

しかし、それはONLYで、私はpass変数に置くことができるカスタム制約/注釈を書き込むことができますどのように教えないでください

@ValidationAlias(
    constraint = @ScriptAssert(lang = "javascript", script = "_this.passVerify.equals(_this.pass)"), 
    field = "pass") 
public class MyBean {... 
:私の可能な必要性はそのようないくつかのことは何ですか)

だから私の質問は次のとおりです。

  • は、そのアドレスにその問題を何かが存在していますか?
  • 誰かが良いアイデアを持っていますか(私は春を使っても問題ありません)?

答えて

0
@ValidationAlias(
    constraint = @ScriptAssert(lang = "javascript", script = "_this.passVerify.equals(_this.pass)"), 
    field = "pass") 
public class MyBean {... 

あなたは、エラーメッセージとパスをカスタマイズすることができますConstraintValidator#のisValidConstraintValidatorContextと組み合わせて、あなたの最善の策であると思われます。 disableDefaultConstraintViolationを使用すると、デフォルトのエラーメッセージを無効にすることができます。

+0

私はあなたのことを正しく理解しましたか?これはヒントを実装するヒントですか? – Ralph

関連する問題