【问题标题】:Spring validation don't executed春季验证不执行
【发布时间】: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 javax.validationvalidation-api2.0 添加了这个依赖项。 0.Final java 1.6版
  • 请不要在 cmets 中添加其他信息,而是编辑您的问题。 @Valid 没有一个实际的实现(比如hibernate-validator)也几乎没用。

标签: java spring validation controller annotations


【解决方案1】:

我忘记将 javax.validation.api 添加到我的工件中。清理工件文件夹,构建工件解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多