當前位置:
首頁 > 知識 > springmvc(四)springmvc的數據校驗的實現

springmvc(四)springmvc的數據校驗的實現

so easy~

--WH

一、什麼是數據校驗?

這個比較好理解,就是用來驗證客戶輸入的數據是否合法,比如客戶登錄時,用戶名不能為空,或者不能超出指定長度等要求,這就叫做數據校驗。

數據校驗分為客戶端校驗和服務端校驗

客戶端校驗:js校驗

服務端校驗:springmvc使用validation校驗,struts2使用validation校驗。都有自己的一套校驗規則。

二、springmvc的validation校驗

Springmvc本身沒有校驗功能,它使用hibernate的校驗框架,hibernate的校驗框架和orm沒有關係

2.1、添加jar包

springmvc(四)springmvc的數據校驗的實現

2.2、在springmvc.xml中配置validator校驗器,基本上直接複製拿過去用即可。

配置以下這些,相當於有人幫我們寫好了校驗代碼,我們拿過來直接用就行了,所以需要進行配置。

springmvc(四)springmvc的數據校驗的實現

將validator註冊到適配器中

方式一(推薦)

方式二:如果配置文件中使用的是非註解方式編寫的適配器,則這樣配置

springmvc(四)springmvc的數據校驗的實現




classpath:validationMessageSource

springmvc.xml配置校驗器

2.3、validationMessageSource.properties

該配置文件的作用就是存儲校驗失敗時的提示文字信息的,也就是相當於將其提取出來放到配置文件中,

2.4、在pojo中指定校驗規則

列舉兩個校驗規則(使用的是註解校驗),notnull和size

springmvc(四)springmvc的數據校驗的實現

1、items.name.size和items.createtime.notnull:就是讀取validationMessageSource.properties中的配置信息。從這裡就可以理解該配置文件的意義,防止硬編碼。

2、使用註解對需要進行校驗的屬性進行綁定,而能夠使這些註解生效的前提就是配置此前的幾個步驟,2.1、2.2、2.3都必不可少

其他校驗規則摘抄自網上

springmvc(四)springmvc的數據校驗的實現

springmvc(四)springmvc的數據校驗的實現

2.5、controller中對其校驗綁定進行使用

springmvc(四)springmvc的數據校驗的實現

1、@Validated作用就是將pojo內的註解數據校驗規則(@NotNull等)生效,如果沒有該註解的聲明,pojo內有註解數據校驗規則也不會生效

2、BindingResult對象用來獲取校驗失敗的信息(@NotNull中的message),與@Validated註解必須配對使用,一前一後

3、代碼中的邏輯應該很容易看懂,就是將result中所有的錯誤信息取出來,然後到原先的頁面將錯誤信息進行顯示,注意,要使用model對象,則需要在形參中聲明Model model,然後菜能使用

2.6、jsp頁面

springmvc(四)springmvc的數據校驗的實現

2.7、總結

其實非常簡單,直接使用註解對其進行校驗就完事了,校驗代碼都替我們寫好了,只需要配置一下即可。傻瓜式操作。不會的看上面步驟,一步步來。

三、分組校驗

3.1、什麼是分組校驗?

校驗規則是在pojo 制定的,而同一個pojo可以被多個Controller使用,此時會有問題,即:不同的Controller方法對同一個pojo進行校驗,此時這些校驗信息是共享在這不同的Controller方法 中,但是實際上每個Controller方法可能需要不同的校驗,在這種情況下,就需要使用分組校驗來解決這種問題,

通俗的講,一個pojo中有很多屬性,controller中的方法1可能只需要校驗pojo中的屬性1,controller中的方法2隻需要校驗pojo中的屬性2,但是pojo中的校驗註解有很多,怎樣才能使方法1隻校 驗屬性1,方法二隻校驗屬性2呢?就需要用分組校驗來解決了。

3.2、定義分組

springmvc(四)springmvc的數據校驗的實現

就是定義空的介面,介面類只作為這個分組標識來使用,看下面的用法,就知道其意義何在了

3.3、使用分組

springmvc(四)springmvc的數據校驗的實現

3.4、controller方法

在這個方法中,那麼就只會校驗items這個pojo中有ValidationGroup1這個分組的校驗註解,而不會在校驗其他的

四、總結

數據校驗就這樣講完了,非常簡單吧,拿過來就是一頓用即可。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

使用jenkins實現持續集成
etcd raft如何實現成員變更
深入RxEasyHttp網路庫教你3分鐘學會自定義數據結構

TAG:科技優家 |

您可能感興趣

Spring Boot學習筆記系列之Spring Boot配置文件屬性值校驗
SpringBoot | 第八章:統一異常、數據校驗處理
M Tools:移動端rfid校驗計算工具
MD5校驗碼作用和使用方法 Mac/Win
納稅服務系統二POI、用戶唯一性校驗
使用AOP實現許可權攔截校驗
反證法:校驗自己的教育理念
北京公布12家醫療機構人類輔助生殖技術校驗批複
飛行校驗系統由北航自主研發
任意用戶密碼重置(四):重置憑證未校驗
飛行校驗:一招教你識別機場助航燈光
正則表達式常用校驗實例
北京大興國際機場第一場校驗任務完成
北京大興國際機場啟動飛行校驗工作 工程即將進入驗收移交階段
北京大興國際機場飛行校驗工作圓滿完成
安全專家日前公布藍牙配對協議未嚴格校驗公鑰的漏洞