Struts2——資料校驗
程式設計式校驗(伺服器端)
在action中編寫校驗程式碼
步驟:
1、action繼承ActionSupport類,並實現其中的validate()方法;
2、在struts.xml中配置action,可以選擇通過在jsp介面新增來顯示,也可通過對action定義跳轉來實現;
定義result
定義s:fielderror
3、針對指定的動作進行校驗
方式一:
在不需驗證的動作方法前加://@SkipValidation// 指忽略驗證
方式二:
按書寫規範來指定,如:
public String edit(){
..動作方法
}
public void validateEdit(){
..驗證方法
}
驗證方法的命名應該為:validate+動作方法名(首字母大寫)
宣告式校驗 :通過xml配置檔案
1、針對動作類中的所有動作進行校驗
步驟:
<1>在action的同目錄中建立xml檔案,命名規則如下:
action名-validation.xml
<2>匯入相應的dtd檔案:
<3>通過validators標籤來實現校驗功能:
其中,field的name屬性是需驗證的屬性名,field-validator的type屬性是指定驗證規則。message是提示內容,可通過來顯示在jsp頁面。
field-validator的type值:
requiredstring:必須的字元
stringlength:長度
email:電子郵件格式
expression:兩數的關係比較(可以定義
<param name="maxlength/minlength">
) 2、針對指定的動作進行校驗
方式一:使用@SkipValidation
方式二:按規範書寫來指定
若只需對ValidateAction中的某個add方法實施校驗,校驗檔案的取名為:
ActionClassName-ActionName-validation.xml
ActionClassName為ValidateAction,ActionName為add
自定義宣告式校驗
實際上就是自己建一個校驗器,並可以通過上述內容進行引用
實現步驟:
1、建立一個類並繼承FieldValidatorSupport類,實現其中的validate(Object object)方法;
2、編寫isStrong方法;
3、註冊校驗器
在WEB-INF\classes目錄中,建立validators.xml檔案,並匯入相應dtd(不同與之前dtd),再編寫validators配置檔案
4、在ActionDemo-validation.xml中呼叫