javascript
SpringMVC---数据校验
所需jar包
下載:提取碼:fc9z
SpringMVC不自帶數(shù)據(jù)校驗(yàn),需要借助Hibernate,需要如下jar包
hibernate-validator-6.0.7.Final.jar,slf4j-api-1.6.1.jar,slf4j-log4j12.jar,validation-api-2.0.1.Final.jar
hibernate-validator-6.0.7.Final.jar,validation-api-2.0.1.Final.jar:Hibernate官網(wǎng)下載地址http://hibernate.org,選擇validator,在release選擇版本,然后下載。
slf4j-api-1.6.1.jar,slf4j-log4j12.jar:官網(wǎng)下載地址http://www.java2s.com/Code/,選擇jar,篩選s,選擇Catalogs.html,點(diǎn)擊search搜索,找到slf4j-api,slf4j-log4j12,然后點(diǎn)擊search搜索,選擇所需版本,再點(diǎn)search搜索,在Related examples in the same category之上有一個(gè)下載鏈接
JSR 303校驗(yàn)框架介紹
在任何時(shí)候,當(dāng)你要處理一個(gè)應(yīng)用程序的業(yè)務(wù)邏輯,數(shù)據(jù)校驗(yàn)是你必須要考慮和面對(duì)的事情。應(yīng)用程序必須通過(guò)某種手段來(lái)確保輸入進(jìn)來(lái)的數(shù)據(jù)從語(yǔ)義上來(lái)講是正確的。在通常的情況下,應(yīng)用程序是分層的,不同的層由不同的開(kāi)發(fā)人員來(lái)完成。很多時(shí)候同樣的數(shù)據(jù)驗(yàn)證邏輯會(huì)出現(xiàn)在不同的層,這樣就會(huì)導(dǎo)致代碼冗余和一些管理的問(wèn)題,比如說(shuō)語(yǔ)義的一致性等。為了避免這樣的情況發(fā)生,最好是將驗(yàn)證邏輯與相應(yīng)的域模型進(jìn)行綁定。
Bean Validation 為 JavaBean 驗(yàn)證定義了相應(yīng)的元數(shù)據(jù)模型和 API。缺省的元數(shù)據(jù)是 Java Annotations,通過(guò)使用 XML 可以對(duì)原有的元數(shù)據(jù)信息進(jìn)行覆蓋和擴(kuò)展。在應(yīng)用程序中,通過(guò)使用 Bean Validation 或是你自己定義的 constraint,例如 @NotNull, @Max, @ZipCode, 就可以確保數(shù)據(jù)模型(JavaBean)的正確性。constraint 可以附加到字段,getter 方法,類(lèi)或者接口上面。對(duì)于一些特定的需求,用戶可以很容易的開(kāi)發(fā)定制化的 constraint。Bean Validation 是一個(gè)運(yùn)行時(shí)的數(shù)據(jù)驗(yàn)證框架,在驗(yàn)證之后驗(yàn)證的錯(cuò)誤信息會(huì)被馬上返回。
JSR303校驗(yàn)框架注解類(lèi)
- @NotNull 注解元素必須是非空
- @Null 注解元素必須是空
- @Digits 驗(yàn)證數(shù)字構(gòu)成是否合法
- @Future 驗(yàn)證是否在當(dāng)前系統(tǒng)時(shí)間之后
- @Past 驗(yàn)證是否在當(dāng)前系統(tǒng)時(shí)間之前
- @Max 驗(yàn)證值是否小于等于最大指定整數(shù)值
- @Min 驗(yàn)證值是否大于等于最小指定整數(shù)值
- @Pattern 驗(yàn)證字符串是否匹配指定的正則表達(dá)式
- @Size 驗(yàn)證元素大小是否在指定范圍內(nèi)
- @DecimalMax 驗(yàn)證值是否小于等于最大指定小數(shù)值
- @DecimalMin 驗(yàn)證值是否大于等于最小指定小數(shù)值
- @AssertTrue 被注釋的元素必須為true
- @AssertFalse 被注釋的元素必須為false
Hibernate Validator附加的 constraint
- @Email 被注釋的元素必須是電子郵箱地址
- @Length 被注釋的字符串的大小必須在指定的范圍內(nèi)
- @NotEmpty 被注釋的字符串的必須非空
- @NotBlank 被注釋的字符串必須非空,且長(zhǎng)度需要大于0
- @Range 被注釋的元素必須在合適的范圍內(nèi)
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaobaizhiqian/p/8144892.html
總結(jié)
以上是生活随笔為你收集整理的SpringMVC---数据校验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【ASP.NET Core快速入门】(九
- 下一篇: gradle idea java ssm