[英]Override error message in spring validator
說我用Spring做休息服務。
假設我需要將自定義驗證器應用於整個類型/類,即@Target({ElementType.TYPE})。 Validator具有非常笨拙的邏輯,不能簡化為子驗證器或字段驗證器。
因此,有時候很難理解究竟是什么問題,我需要添加不同的錯誤消息。
我不知道怎么做。 可能嗎?
例如:
public class ReportConstraintValidator implements ConstraintValidator<ValidReport, Report> {
@Autowired
DesignRepository designRepository;
@Override
public void initialize(ValidReport constraintAnnotation) {
}
@Override
public boolean isValid(Report report, ConstraintValidatorContext context) {
...
// here goes "foo error message"
return false;
...
// here goes "bar error message"
return false;
}
}
解決了M.Denium的提議
public class ReportConstraintValidator implements ConstraintValidator<ValidReport, Report> {
@Autowired
DesignRepository designRepository;
@Override
public void initialize(ValidReport constraintAnnotation) {
}
@Override
public boolean isValid(Report report, ConstraintValidatorContext context) {
...
context.buildConstraintViolationWithTemplate("foo error message").addConstraintViolation();
return false;
...
context.buildConstraintViolationWithTemplate("foo error message").addConstraintViolation();
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.