8

2 つの問題があります。

1.Sping/MVC は hibernate バリデータを使用します。カスタム バリデータはどのようにメッセージを表示しますか? like: Hibernate Validator (JSR 303) によるクロス フィールド検証

@FieldMatch.List({
    @FieldMatch(fieldName="password",verifyName="passwordVerify",message="password confirm valid!", groups={Default.class})
})
@ScriptAssert(lang="javascript",script="_this.name.equals(_this.verifyCode)")
public class LoginForm {...}

リソースプロパティファイルを使用してjspでメッセージを表示するには?

NotEmpty.loginForm.name="ユーザー名を空にすることはできません!" NotEmpty.loginForm.password="パスワードを空にすることはできません!"

2.ログインと登録のための1つのユーザーフォームのように、Spring MVCでグループバリデーターを使用したい

    @FieldMatch.List({
    @FieldMatch(fieldName="password",verifyName="passwordVerify",message="password confirm valid!", groups={Default.class})
})@ScriptAssert(lang="javascript",script="_this.name.equals(_this.verifyCode)",groups={Default.class,LoginChecks.class,RegisterChecks.class})
public class LoginForm {
    @NotEmpty(groups={Default.class,LoginChecks.class,RegisterChecks.class})
    @Size(min=3,max=10,groups={LoginChecks.class,RegisterChecks.class})
    private String name;

    @NotEmpty(groups={Default.class,LoginChecks.class,RegisterChecks.class})
    @Size(max=16,min=5,groups={LoginChecks.class,RegisterChecks.class})
    private String password;

    private String passwordVerify;

    @Email(groups={Default.class,LoginChecks.class,RegisterChecks.class})
    private String email;

    private String emailVerify;
...
}

コントローラ パラメータ アノテーションは @valid です。グループごとのグループ バリデータをサポートするアノテーションはありますか?

最初の投稿:)

4

4 に答える 4

1

コントローラ パラメータ アノテーションは @valid です。グループごとのグループ バリデータをサポートするアノテーションはありますか?

@ConvertGroupアノテーションで可能になりました。これをチェックしてくださいhttp://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-group-conversion

于 2013-08-07T15:19:29.793 に答える
1

アノテーション内での検証グループのサポート@Validについては、検証済みの Bean のデフォルト グループを再定義することで、最近見つけた方法があります。

@GroupSequence({TestForm.class, FirstGroup.class, SecondGroup.class})
class TestForm {

    @NotEmpty
    public String firstField;

    @NotEmpty(groups=FirstGroup.class)
    public String secondField; //not validated when firstField validation fails

    @NotEmpty(groups=SecondGroup.class)
    public String thirdField; //not validated when secondField validation fails
}

これで、引き続き を使用できますが@Valid、検証グループの順序は維持されます。

于 2011-10-17T10:02:04.783 に答える