天天看點

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(必須不為空)

繼續閱讀