一部のBean検証に問題があります。JSFバリデーターの注文
基本的に私はインターネットユーザーが新しいプロファイルを作成できるフォームを持っており、ユーザー名を入力する必要があります。
は私がに関してユーザ名を検証する:
- 長
- パターン
- ユーザ名がすでに存在する場合、私は私自身のカスタム検証@UserExistsを書いた弾丸3について
。問題は、最初の2つのバリデータのいずれかが失敗した場合、このバリデータを実行したくないということです。
私のUserExistsバリデーターで@GroupSequenceを使用すると、シーケンスに関してトリックが実行されますが、他のバリデーターの1つが入力が無効であると報告された場合でもJSFは引き続きバリデーターを呼び出します。他のバリデータのいずれかがすでに失敗したかどうかどうか調べることはできますか?ここで
は、私がチェックしているしたかったプロパティです:
@Size(min = 3, max = 20)
@Pattern(regexp = "[A-Za-z]+[A-Za-z0-9]*")
@UserExists(message = "User already exists")
private String username;
カスタムバリデータは、次の属性があります。
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = UserExistsValidator.class)
@GroupSequence({Size.class, Pattern.class})
public @interface UserExists
ありがとうございました。私はすでにリファレンスガイドにいましたが、明らかにそれを十分に読んでいませんでした。 – foens