質問

実行するにはどうすればよいですか ConstraintValidator 間に ConstraintValidator?

カスタムがあります @NotEmpty カスタムがあります ConstraintValidatorタイプごとに、正常に動作します。

次に、指定されたフィールドの少なくとも1つをチェックするクラスレベルの制約を作成したいと思います。 ConstraintValidator私はすでに持っています。制約部分(@ClassNotEmpty)が行われますが、問題は次のとおりです ConstraintValidator 実装。どうすれば取得できますか ConstraintValidator 特定の制約のインスタンス?すなわち

isValid(Object value, ConstraintValidatorContext constraintValidatorContext)  {
    String[] fieldValues = getFieldValues(value, this.classNotEmpty.fieldNames());

    for (String fieldValue : fieldValues) {
        <What do I put here?>.isValid(fieldValue, constraintValidatorContext);
    }
}

検証ルーチンをヘルパークラスに引き上げずにこれを行う方法はありますか?

ところで、私はSpringとHibernate Validatorを使用しています。

役に立ちましたか?

解決

さらなる研究の後、 ConstraintValidator 特定の制約のインスタンス、ポータブルかどうか。ヘルパークラスがこれを行う唯一の方法のようです。

他のヒント

私は自分の前に情報を持っていませんが、他のバリデーターで構成されているバリデーターについて何かを読んだことを覚えています。したがって、2つのバリデーターAとBがある場合、他の2つの「C」で構成される3番目の「C」を定義できます。ドコを狩る、あなたはそれを見つけるはずです。

検索をしただけで、これを読んでください: http://docs.jboss.org/hibernate/stable/validator/reference/en-us/html/validator-customconstraints.html#validator-customconstraints-compound

それはあなたが探しているものかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top