Java 如何在Spring中将错误代码添加到ConstraintValidator?
我实现了自己的注释和约束验证程序(JSR-303)。在验证过程中,我希望创建不同的错误代码:Java 如何在Spring中将错误代码添加到ConstraintValidator?,java,spring,Java,Spring,我实现了自己的注释和约束验证程序(JSR-303)。在验证过程中,我希望创建不同的错误代码: public class SomeValidator implements ConstraintValidator<ConstraintAnnotation,SomeObject> { @Override public void initialize (ConstraintAnnotation constraintAnnotation) { } @Overr
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;
}
}
不是
如何添加自定义代码而不是消息?问题解决得非常简单: 1) 用{}环绕错误代码,如下所示:
ConstraintAnnotation.someObject
context.buildConstraintViolationWithTemplate("{SomeObject.code.first}").addConstraintViolation();
2) 将属性文件添加到资源文件夹(它是maven项目中的资源文件夹):
ValidationMessages_en_.properties文件内容
SomeObject.code.first=Illegal link value
验证之后,生成代码not消息,spring将错误代码解析为实际消息
注意:
ValidationMessages_en_US.properties
SomeObject.code.first=Illegal link value