基於XML配置的輸入校驗

2021-06-04 17:20:15 字數 1577 閱讀 4761

使用基於xml配置方式實現輸入校驗時,action也需要繼續actionsupport,並且提供校驗檔案,校驗檔案和action類放在同乙個包下,檔案的取名格式為:actionclassname-validation.xml,其中actionclassname為action的簡單類名,-validattion未固定的寫法。如果action類為cn.itcats.useracction,那麼該檔案的取名應為:useraction-validation.xml.

校驗的模板:

<?xml version="1.0" encoding="utf-8"?>

true

使用者名稱不能為空!

指定action中要校驗的屬性,指定校驗器,上面指定的校驗器requiredstring是由系統提供的,系統提供了能滿足大部分驗證需求的校驗器,這些校驗器的定義可以在xwork-2.x.jar中的com.opensymphony.xwork2.validator.validators下的default.xml中找到。

為校驗失敗後的提示資訊,如果需要國際化,可以為message指定key屬性,key的值為資源檔案中的key。

在這個校驗檔案中,對action中字串型別的username屬性進行驗證,首先要求呼叫trim()方法去掉空格,然後判斷使用者名稱是否為空。

校驗器列表:

系統提供的校驗器如下:

required (必填校驗器,要求field的值不能為null)

requiredstring (必填字串校驗器,要求field的值不能為null,並且長度大於0,預設情況下會對字串去前後空格)

stringlength(字串長度校驗器,要求field的值必須在指定的範圍內,否則校驗失敗,minlength引數指定最小長度,maxlength引數指定最大長度,trim引數指定校驗field之前是否去除字串前後的空格)

regex(正規表示式校驗器,檢查被校驗的field是否匹配乙個正規表示式.expression引數指定正規表示式,casesensitive引數指定進行正規表示式匹配時,是否區分大小寫,預設值為true)

int(整數校驗器,要求field的整數值必須在指定範圍內,min指定最小值,max指定最大值)

double(雙精度浮點數校驗器,要求field的雙精度浮點數必須在指定範圍內,min指定最小值,max指定最大值)

fieldexpression(欄位ognl表示式校驗器,要求field滿足乙個ognl表示式,expression引數指定ognl表示式,該邏輯表示式基於valuestack進行求值,返回true時校驗通過,否則不通過)

email(郵件位址校驗器,要求如果field的值非空,則必須是合法的郵件位址)

date(日期校驗器,要求field的日期值必須在指定範圍內,min指定最小值,max指定最大值)

conversion(轉換校驗器,指定在型別轉換失敗時,提示的錯誤資訊)

visitor(用於校驗action中的復合屬性,它指定乙個校驗檔案用於校驗復合屬性中的屬性)

expression(ognl表示式校驗器,expression引數指定ognl表示式,該邏輯表示式基於valuestack進行求值,返回true時校驗通過,否則不通過,該校驗器不可用在字段校驗器風格的配置中)

基於XML配置方式實現輸入校驗

action類需要繼承actionsupport,然後提供校驗檔案,如下 true 使用者名稱不能為空 在這個校驗檔案中,對action中字串型別的username屬性進行驗證,首先要求呼叫trim 方法去掉空格,然後判斷使用者名稱是否為空。該檔案需要和action類放在同乙個包下,檔案的取名應遵守...

Struts2 輸入校驗 基於XML配置方式實現

使用基於xml配置方式實現輸入校驗時,action也需要繼承actionsupport,並且提供校驗檔案,校驗檔案和action類放在同乙個包下,檔案的取名格式為 actionclassname validation.xml,其中actionclassname為action的簡單類名,validat...

13 基於xml校驗的特點

當為某個action提供了actionclassname validation.xml和actionclassname actionname validation.xml兩種規則的校驗檔案時,系統按下面順序尋找校驗檔案 1。aconclassname validation.xml 2。actionc...