Bean Validation(JSR-303)を明示的に呼び出すコードを次のように記述しています。
public class Example {
@DecimalMin(value = "0")
private static final String ANNOTATED = "";
public void isPossitiveNumber(String str){
ValidatorFactory factory =
Validation.buildDefaultValidatorFactory();
ConstraintValidator<DecimalMin, String>
validator =
factory.getConstraintValidatorFactory().getInstance(
DecimalMinValidatorForString.class);
validator.initialize(
ReflectionUtils.findField(getClass(), "ANNOTATED")
.getAnnotation(
DecimalMin.class));
boolean isValid = validator.isValid(str, null);
return isValid;
}
}
行booleanisValid= validator.isValid(str、null);に注意してください。それを入手/構築する方法が見つからなかったので、私は
に転送null
します。ConstraintValidatorContext
この特定のケースでは、ConstraintValidatorContext
内部的に使用されていないため、これは問題ありませんが、ハックであることは明らかです。どうすればいいConstraintValidatorContext
ですか?
追加した
ユースケースを提供するように依頼されました。したがって、たとえば、カスタムバリデーターを作成していて、既存の検証を再利用したいとします。または、上記のようにプレーンJavaコードを記述していて、既存の検証を再利用したいと考えています。