so easy~
--WZY
一、什麼是資料校驗?
這個比較好了解,就是用來驗證客戶輸入的資料是否合法,比如客戶登入時,使用者名不能為空,或者不能超出指定長度等要求,這就叫做資料校驗。
資料校驗分為用戶端校驗和服務端校驗
用戶端校驗:js校驗
服務端校驗:springmvc使用validation校驗,struts2使用validation校驗。都有自己的一套校驗規則。
二、springmvc的validation校驗
Springmvc本身沒有校驗功能,它使用hibernate的校驗架構,hibernate的校驗架構和orm沒有關系
2.1、添加jar包
2.2、在springmvc.xml中配置validator校驗器,基本上直接複制拿過去用即可。
配置以下這些,相當于有人幫我們寫好了校驗代碼,我們拿過來直接用就行了,是以需要進行配置。
将validator注冊到擴充卡中
方式一(推薦)
方式二:如果配置檔案中使用的是非注解方式編寫的擴充卡,則這樣配置
springmvc.xml配置校驗器
2.3、validationMessageSource.properties
該配置檔案的作用就是存儲校驗失敗時的提示文字資訊的,也就是相當于将其提取出來放到配置檔案中,
2.4、在pojo中指定校驗規則
列舉兩個校驗規則(使用的是注解校驗),notnull和size
1、items.name.size和items.createtime.notnull:就是讀取validationMessageSource.properties中的配置資訊。從這裡就可以了解該配置檔案的意義,防止寫死。
2、使用注解對需要進行校驗的屬性進行綁定,而能夠使這些注解生效的前提就是配置此前的幾個步驟,2.1、2.2、2.3都必不可少
其他校驗規則摘抄自網上
2.5、controller中對其校驗綁定進行使用
1、@Validated作用就是将pojo内的注解資料校驗規則(@NotNull等)生效,如果沒有該注解的聲明,pojo内有注解資料校驗規則也不會生效
2、BindingResult對象用來擷取校驗失敗的資訊(@NotNull中的message),與@Validated注解必須配對使用,一前一後
3、代碼中的邏輯應該很容易看懂,就是将result中所有的錯誤資訊取出來,然後到原先的頁面将錯誤資訊進行顯示,注意,要使用model對象,則需要在形參中聲明Model model,然後菜能使用
2.6、jsp頁面
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、定義分組
就是定義空的接口,接口類隻作為這個分組辨別來使用,看下面的用法,就知道其意義何在了
3.3、使用分組
3.4、controller方法
在這個方法中,那麼就隻會校驗items這個pojo中有ValidationGroup1這個分組的校驗注解,而不會在校驗其他的
四、總結
資料校驗就這樣講完了,非常簡單吧,拿過來就是一頓用即可。