Struts2 自動管理表單處理過程中遇到的轉換和驗證錯誤。當發生錯誤時,它會傳回 INPUT 結果而不是引發異常。這允許用戶在不中斷應用程式流程的情況下糾正輸入錯誤。
轉換錯誤
參數攔截器處理表單參數到適當資料類型的轉換(例如,字串)為整數)。如果轉換失敗,它會在 ActionContext 的 conversionErrors 映射中新增一個欄位錯誤。
驗證錯誤
驗證攔截器執行為操作定義的驗證規則。如果任何驗證標準失敗,它會將欄位錯誤新增至 ActionContext 的 fieldErrors 映射中。
轉換和驗證後,工作流程攔截器檢查是否有任何欄位錯誤。如果發現錯誤,則傳回 INPUT 結果。此結果自動包含錯誤訊息和使用者提交的原始值,確保使用者可以查看錯誤並更正其輸入。
要啟用自動錯誤處理,請確保以下攔截器以正確的順序包含在自訂堆疊中:
如果使用者在表單欄位中輸入字母字符,定義為整數,框架在檢索該值時傳回零。發生這種情況是因為 Getter 方法傳回整數 (0) 的預設值,因為它無法將 String 設為 int 欄位。
Struts2 不會引發轉換或異常驗證錯誤,因為它們被視為輸入錯誤。相反,它會傳回一個 INPUT 結果並將錯誤訊息新增至「欄位錯誤」對應以供使用者解決。
以上是Struts2如何處理表單處理中的轉換與驗證錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!