繼承 ActionSupport 並重寫 validate(),在其中調用 addFieldError(field, msg) 記錄錯誤。驗證發生在類型轉換之後,直接操作已轉換好的屬性值。
@Override
public void validate() {
if (age < 0 || age > 200) {
addFieldError("age", "年齡應在 0-200 之間");
}
}
Action 包含多個業務方法(如 addUser()、getUserList()),可定義對應驗證方法:
validateAddUser() → 執行 addUser() 前調用validateGetUserList() → 執行 getUserList() 前調用命名規則:validate + 業務方法名首字母大寫。
validate() 總會執行validate(),有兩種方案:
execute() 方法,自然也就不寫 validate()validateExecute(),僅在調用 execute() 時觸發<s:fielderror/>