独自のアノテーションと ConstraintValidator (JSR-303) を実装しました。検証プロセス中に、さまざまなエラー コードを作成したいと考えています。
public class SomeValidator implements ConstraintValidator<ConstraintAnnotation,SomeObject> {
@Override
public void initialize (ConstraintAnnotation constraintAnnotation) {
}
@Override
public boolean isValid (SomeObject some, ConstraintValidatorContext context) {
int parameter = some.getParameter();
if (parameter==1){
context.disableDefaultConstraintViolation();
context.buildConstraintViolationWithTemplate("SomeObject.code.first").addConstraintViolation();
return false;
}
if (parameter==2){
context.disableDefaultConstraintViolation();
context.buildConstraintViolationWithTemplate("SomeObject.code.second").addConstraintViolation();
return false;
}
return true;
}
}
しかし、 context.buildConstraintViolationWithTemplate() は、コードではなくエラー メッセージを追加します。したがって、次のようなコードを展開するためのスプリングタイ:
ConstraintAnnotation.someObject
いいえ
SomeObject.code.second
メッセージの代わりにカスタム コードを追加するにはどうすればよいですか?