春季 - 实例化错误对象

2022-09-01 08:50:36

我有一个这样的方法:

public boolean validateMessage(String message, Errors errors) {
  if (!StringUtils.hasLength(message)) {
    errors.rejectValue(wrapperName + "message", "EMPTY_MESSAGE", EMPTY_MESSAGE_ERRORMSG) ;
            return false ;
        }
        return true ;
    }

我想用一个新对象调用这个方法,比如:Errors

boolean result = validateMessage("hi", new Errors()) ;

但是,不允许进行这种实例化。请指教。Errors

如果不是使用,我可以使用空的(新)来实现这一点吗?ErrorsBindingResult


答案 1

Errors并且是接口,因此无法实例化它们。您唯一的选择是使用实现 的类之一。BindingResultErrors

您可以使用 ,这可以实现 - 有关详细信息,请参阅此处org.springframework.validation.BindExceptionErrors


答案 2

另一种选择是使用 org.springframework.validation.BeanPropertyBindingResult,它实现了 Errors。此对象与您在 Spring MVC 控制器中收到的绑定结果的类相同

Errors errors = new BeanPropertyBindingResult(objectToValidate, "objectName");

推荐