天天看点

springmvc-JSR303数据校验

下面说一下简单的JSR303数据校验:有挺多的校验注解,在这里我就简单的讲一个,其他的注解用法都是一样的:

下面说一下 @Email这个扩展注解:主要是验证你输入的email格式是否是正确的

1.最先是导入依赖:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>4.3.1.Final</version>
</dependency>      

然后,再往你的springmvc.xml配置文件添加:

<mvc:annotation-driven></mvc:annotation-driven>      

2.首先 先在我的实体类里面定义一个Email属性:

@Email(message = "邮箱格式不正确")    //它会帮你自动验证,如果你输入的eamil格式有误,那么就会返回“邮箱格式不正确”
private String email;      

3.然后,再去我的controller里去看看:

@RequestMapping("register")    //记住,必须加@Valid
public String register(@Valid Person person, BindingResult result){  //记住,这个BindingResult就是你返回的验证不通过的结果集

      
//先得到你的Email:
    System.out.println(person.getEmail());

      
//根据result点出所有的错误
    List<ObjectError> allErros=result.getAllErrors();
    if(allErros.size()>0){
        //有验证不通过:打印出错误的验证信息
        for (ObjectError allErro : allErros) {
            System.out.println(allErro.getDefaultMessage());
        }
    }

    return "success";
}      

4.再看看我的表单提交:

<form action="/register.action" method="post">

    邮箱:<input type="text" name="email">  <br/>

    <input type="submit" value="提交">

</form>      

然后就可以实现简单的验证了。

还有挺多的注解,我这里就不说了:

我觉得特别一点的就是这两个了:

@Null (必须为空)

@NotNull(必须不为空)

继续阅读