在增加、修改功能中,往往会对用户输入的信息进行校验,数据校验的形式也是多种多样,springMVC也提供了一套校验方式。
<mvc:annotation-driven />会自动装配LocalValidatorFactoryBean,通过在处理方法的入参上标注@valid注解即可让springMVC在完成数据绑定后执行数据校验的工作,使用JSR303数据合法性校验框架。
以用户的用户名和邮箱地址为例,在实体类属性上标注校验注解。在处理方法对应的入参前添加@Valid,springMVC就会实时校验并将校验结果保存到被校验入参对象之后的BindingResult或Errors入参中,还会将所有校验结果保存到“隐含模型”,通过HttpServletRequest的属性列表暴露给JSP试图对象,因此在JSP中获取错误信息。
实体类
@NotEmpty
private String lastName;
@Email
private String email;
Controller
public String handle 91(@Valid User user, BindingResult userBindingResult,
String sessionId,ModelMap mm,
@Valid Dept dept, Errors deptErrors){}
JSP