[英]Validate a POJO without using @Valid in Spring MVC
我需要验证POJO, 而无需将注解@Valid
用作方法的参数。
我被困在这一点上:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Menu>> constraintViolations=validator.validate(menu);
//Menu is my Pojo
if (!constraintViolations.isEmpty()) {
Iterator itr = constraintViolations.iterator();
while(itr.hasNext()){
Object o = itr.next();
}
}
似乎可行,因为在“ itr”内部,我有类似以下内容:
oConstraintViolationImpl{interpolatedMessage='size must be between 3 and 50', propertyPath=titolo, rootBeanClass=class com.springgestioneerrori.model.Menu, messageTemplate='{javax.validation.constraints.Size.message}'}
现在,我的问题是:如何向绑定结果中添加“ itr”值? 也许我应该投点什么...
谢谢
@Test
public void testBindingResult(BindingResult result,Set<ConstraintViolation<String>> violations){
for ( ConstraintViolation<String> constraintViolation : violations) {
ObjectError error=new ObjectError("object",constraintViolation.getMessage());
result.addError(error);
}
}
您应该创建ObjectError
类型的对象, 这是该类的春季文档,应将其添加到绑定结果中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.