天天看點

Struts2 Action驗證比表單1,action中重寫 validate方法2,xml方式

1,action中重寫 validate方法

action繼承ActionSuppott 重寫 validate方法(全局的)

action中所有方法都要經過該方法中的驗證才能執行

/**
     * @Description: 重寫validate方法(strut2自帶表單驗證) 驗證表單資料
     * @return: void
     * @Author: LIANG
     * @Date: 2021/1/24 13:22
     */
    @Override
    public void validate() {
        if(StringUtils.isEmpty(user.getUsername())){
            addFieldError("username","使用者名不能為空");
        }
        if(StringUtils.isEmpty(user.getPassword())){
            addFieldError("password","密碼不能為空");
        }
    }
           

全局改局部:

1,寫方法名格式為validate+方法名(首字母大寫)的驗證方法,這種方法隻對改方法執行有效

public void validateRegister() {
        if(StringUtils.isEmpty(user.getUsername())){
            addFieldError("username","使用者名不能為空");
        }
        if(StringUtils.isEmpty(user.getPassword())){
            addFieldError("password","密碼不能為空");
        }
    }
           

2,可以對不需要經過驗證的方法添加 @SkipValidation注解

Struts2 Action驗證比表單1,action中重寫 validate方法2,xml方式

2,xml方式

全局

在action同一目錄下建立格式名為action類名-validation.xml xml檔案

在\struts2-core-2.5.26.jar!\xwork-validator-1.0.dtd中找到dtd并引入建立的xml檔案中

Struts2 Action驗證比表單1,action中重寫 validate方法2,xml方式
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.3//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<!--    使用file校驗字段-->
    <field name="username">
        <field-validator type="requiredstring">
            <param name="fieldName">username</param>
            <message>使用者名不能為空</message>
        </field-validator>
    </field>
    <validator type="requiredstring">
        <param name="fieldName">password</param>
        <message>密碼不能為空</message>
    </validator>
</validators>
           
Struts2 Action驗證比表單1,action中重寫 validate方法2,xml方式

全局改局部:

在action同一目錄下建立格式名為action類名-方法名-validation.xml xml檔案

注:使用以上方式驗證表單 需要使用struts内置的标簽

xml的資料規約param參數參考default.xml中标注的類

path:\struts2-core-2.5.26.jar!\com\opensymphony\xwork2\validator\validators\default.xml

Struts2 Action驗證比表單1,action中重寫 validate方法2,xml方式

繼續閱讀