struts2 內建效驗器

2021-08-30 10:30:32 字數 1564 閱讀 6425

[url]這個是官網效驗部分的doc。

struts驗證分為2種:field validators 和non field validators

首先是驗證器的執行先後:

non field validators優先field validators,

non field validators排在前面的先執行

field validators排在後面的先執行

短路原則:

non field validators最優先執行,如果某個字段效驗失敗,則改字段下的所有效驗不會獲得執行機會,不會影響其他欄位的執行,field validators一樣操作。

non field validators不會影響field validators的執行。

這裡使用都是non field validators的效驗,在學習的時候記錄下,設定2個相同的field validators或non field validators,只會執行乙個。

[b][color=darkred]1.必填效驗器[/color][/b]:

可接收引數:fieldname
對於輸入框不能用這個,應該使用requiredstring,我想應該輸入框預設傳入的是字元長度為0的"",對於required而言,是不為空的。所以過濾是無效的。這樣的話,可以用在上傳檔案的時候判斷是否上傳了檔案

pic$

本來我是想將pic1和pic2一起使用required做效驗 但是發現後面的age會覆蓋username,貌似只能對乙個引數做效驗,後來按慣性思維,放在同乙個param下,結果沒有過濾該欄位。

pic,pic2

[b][color=darkred]2.必填字串效驗器[/color][/b]:

可接收引數:fieldname ,trim
要求字段值必須非空且長度大於0

$

[b][color=darkred]3.int,double效驗器[/color][/b]:

可接收引數:fieldname ,min,max
必須在int型範圍

user.age

18150

$國際化:login.age.valid=年齡必須在$-$之間

如果接收的是非數字,頁面上就會輸出2條錯誤資訊,不清楚在那裡設定短路。

[b][color=darkred]4.date效驗器[/color][/b]:

user.birth

1990-01-01

2100-01-01

$[b][color=darkred]5.expression效驗器[/color][/b]:

可接收引數:expression

求出ognl表示式的值。為true通過驗證

Struts2的內建校驗器

從struts2的配置檔案中可以看到struts2有如下內建校驗器 1,required 必填校驗器,要求字段必須有值 性別不能為空 2,requiredstring 必填字串校驗器,要求必須有值且長度大於0,即不能是空字串。缺省會去掉字串前後空格 true 使用者名稱不能為空 3,stringle...

Struts2 進行資料的效驗

建立action類,繼承actionsupport類,新增validate 效驗方法,actionsupport類是乙個預設的action實現類,提供了包括獲取國際化資訊的方法,資料效驗的方法,以及預設處理使用者請求的方法等。import com.opensymphony.xwork2.action...

struts2 內建型別轉換器

如下型別可以相互轉化 boolean和boolean 完成字串和布林值之間的轉換 char和character 完成字串和字元之間的轉換 int和integer 完成字串和整形之間的轉換 long和long 完成字串和長整形之間的轉換 flota和float 完成字串和單精度浮點值之間的轉換 dou...