【发布时间】:2020-03-25 08:26:41
【问题描述】:
它适用于直接执行。但我需要在控制器的第一行从 bindingResults 中获取结果。我不能使用 @Validated 注释,因为我的 Spring 版本太旧了。和@Valid 不适合我
我有什么
在控制器中:
@Autowired
private EmpValidator empValidator;
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.addValidators(EmpValidator);
}
@RequestMapping
public String addOrder(@Valid @ModelAttribute EmpOrder order, BindingResults bindingResults){
//getRid
//empValidator.validate(order, bindingResult);
if (bindingResults.hasError())
//do something
}
}
验证器
public class EmpValidator implements Validator{
if (number.isEmpty()
ValidationUtils.rejectIfEmptyOrWhiteSpace("number","Error filling field number");
}
【问题讨论】:
-
你用什么spring和java版本?
-
Spring 3.0.5 RELEASE 然后我为@Valid annotation
java 1.6版javax.validation validation-api 2.0 添加了这个依赖项。 0.Final -
请不要在 cmets 中添加其他信息,而是编辑您的问题。
@Valid没有一个实际的实现(比如hibernate-validator)也几乎没用。
标签: java spring validation controller annotations