国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

文章標題

2019-11-08 02:02:21
字體:
來源:轉載
供稿:網友

SPRingMVC 使用JSR-303進行校驗 @Valid

使用注解

一、準備校驗時使用的JAR

validation-api-1.0.0.GA.jar:JDK的接口;

hibernate-validator-4.2.0.Final.jar是對上述接口的實現;

log4j、slf4j、slf4j-log4j

 

二、編寫需要校驗的bean

@NotNull(message="名字不能為空")private String userName;@Max(value=120,message="年齡最大不能查過120")private int age;@Email(message="郵箱格式錯誤")private String email;

 

三、校驗方法

復制代碼
@RequestMapping("/login")    public String testValid(@Valid User user, BindingResult result){        if (result.hasErrors()){            List<ObjectError> errorList = result.getAllErrors();            for(ObjectError error : errorList){                System.out.println(error.getDefaultMessage());            }        }        return "test";    }復制代碼

備注:這里一個@Valid的參數后必須緊挨著一個BindingResult 參數,否則spring會在校驗不通過時直接拋出異常

 

前臺可以使用spring的標簽庫也可以自己自定義處理

spring標簽庫的用法:

復制代碼
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>   <html>   <head>   <title>Reservation Form</title>   <style>   .error {       color: #ff0000;       font-weight: bold;   }   </style>   </head>   <body>       <form:form method="post" modelAttribute="vm">           <form:errors path="*" CSSClass="error" />           <table>               <tr>                   <td>Name</td>                   <td><form:input path="userName" />                   </td>                   <td><form:errors path="userName" cssClass="error" />                   </td>               </tr>               <tr>                   <td>email</td>                   <td><form:input path="email" />                   </td>                   <td><form:errors path="email" cssClass="error" />                   </td>               </tr>               <tr>                   <td colspan="3"><input type="submit" />                   </td>               </tr>           </table>       </form:form>   </body>   </html> 復制代碼

 

四、開啟spring的Valid功能

<mvc:annotation-driven />

 

五、JSR303定義的校驗類型

復制代碼

空檢查

@Null       驗證對象是否為null

@NotNull    驗證對象是否不為null, 無法查檢長度為0的字符串

@NotBlank 檢查約束字符串是不是Null還有被Trim的長度是否大于0,只對字符串,且會去掉前后空格.

@NotEmpty 檢查約束元素是否為NULL或者是EMPTY.

 

Booelan檢查

@AssertTrue     驗證 Boolean 對象是否為 true  

@AssertFalse    驗證 Boolean 對象是否為 false  

 

長度檢查

@Size(min=, max=) 驗證對象(Array,Collection,Map,String)長度是否在給定的范圍之內  

@Length(min=, max=) Validates that the annotated string is between min and max included.

 

日期檢查

@Past           驗證 Date 和 Calendar 對象是否在當前時間之前  

@Future     驗證 Date 和 Calendar 對象是否在當前時間之后  

@Pattern    驗證 String 對象是否符合正則表達式的規則

 

數值檢查,建議使用在Stirng,Integer類型,不建議使用在int類型上,因為表單值為“”時無法轉換為int,但可以轉換為Stirng為”“,Integer為null

@Min            驗證 Number 和 String 對象是否大等于指定的值  

@Max            驗證 Number 和 String 對象是否小等于指定的值  

@DecimalMax 被標注的值必須不大于約束中指定的最大值. 這個約束的參數是一個通過BigDecimal定義的最大值的字符串表示.小數存在精度

@DecimalMin 被標注的值必須不小于約束中指定的最小值. 這個約束的參數是一個通過BigDecimal定義的最小值的字符串表示.小數存在精度

@Digits     驗證 Number 和 String 的構成是否合法  

@Digits(integer=,fraction=) 驗證字符串是否是符合指定格式的數字,interger指定整數精度,fraction指定小數精度。

 

@Range(min=, max=) 檢查數字是否介于min和max之間.

@Range(min=10000,max=50000,message=”range.bean.wage”)private BigDecimal wage;

 

@Valid 遞歸的對關聯對象進行校驗, 如果關聯對象是個集合或者數組,那么對其中的元素進行遞歸校驗,如果是一個map,則對其中的值部分進行校驗.(是否進行遞歸驗證)

@CreditCardNumber信用卡驗證

@Email  驗證是否是郵件地址,如果為null,不進行驗證,算通過驗證。

@ScriptAssert(lang= ,script=, alias=)

@URL(protocol=,host=, port=,regexp=, flags=)

復制代碼

 

6、自定義校驗類型

可以參考:http://exceptioneye.iteye.com/blog/1305040

 

使用接口

可以參考:http://elf8848.iteye.com/blog/1299587

分類: springMVC 好文要頂 關注我 收藏該文 自行車上的程序員 關注 - 6 粉絲 - 38 +加關注 3 0

? 上一篇:spring MVC環境搭建? 下一篇:使用spring的@Async異步執行方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣州市| 台南县| 客服| 霍州市| 新乡市| 灌云县| 尼勒克县| 大洼县| 营山县| 阿拉善右旗| 建德市| 旬邑县| 怀来县| 新郑市| 堆龙德庆县| 颍上县| 盱眙县| 芜湖县| 五莲县| 廉江市| 咸宁市| 太仆寺旗| 安溪县| 金湖县| 龙泉市| 环江| 五大连池市| 宁安市| 井研县| 西青区| 灵石县| 绥宁县| 邹平县| 天台县| 英吉沙县| 江阴市| 谢通门县| 林甸县| 仙游县| 宁津县| 德清县|