struts的validator框架使用

2021-08-29 21:31:55 字數 2351 閱讀 4336

人生不如意事十有**。本來前天就已經做好的struts的validator框架,昨天重新使用就不行了,知道今天才基本搞懂。我想跟我一樣的仁兄大有人在,因此寫下給各位網友參考。如果有不對或者有討論的地方,還望各位不吝賜教。

我今天不是詳細討論validator的使用方法,而是重點談談使用validator框架的幾個應注重注意的問題。

首先給出validator框架的一般配置過程(預設使用struts框架):

1.在配置struts-config.xml中定義乙個formbean,並且它是繼承動態actionform,即validatorform或者validatoractionform,或者是他們的子類。我繼承的是validatorform類。設定formbean的屬性和setter、getter方法。注意不要繼承validator方法。

2.在顯示頁面,例如登入頁面(login.jsp),定義form**及其屬性。另外定義錯誤的提示資訊,也就是使用的標籤。

3.在action頁面中,編寫業務處理**,這一步與沒有使用驗證validator框架一樣。注意,當你是從沒有使用validator框架之上編寫的**,需要從actionform類到validatoractionform類的轉換。

4.這一步是最關鍵的步驟之一,就是編寫validation.xml和validator-rules.xml作為驗證的規則。其中validator-rules.xml檔案在使用struts框架的時候就已經給出,故編寫validation.xml檔案就是重點要說的。

6.最後再在struts-config.xml中配置plug-in外掛程式,validator框架最為外掛程式來執行表單驗證。並且注意的是要匯入validator框架用到的8個jar包,分別是commons-validator.jar、jakarta-oro.jar、struts.jar,和commons-beanutils.jar、commoms-fileupload.jar、commons-digester.jar、commons-logging.jar、antrl.jar。

以下是重點要說的幾個注意點:

在第4步中,編寫validation.xml**:

<?xml version="1.0" encoding="utf-8"?>

首先應注意form元素中的name屬性,它是與struts-config.xml中的元素中的name相同,也就是你編寫的form-bean這個類(例如你編寫了loginform這個類)後取的乙個名字。(這裡最容易修改name後,沒有修改在validation.xml中form元素的name屬性)

其次field元素中的property屬性就是需要檢查的字段(例如loginform這個類裡的私有屬性),像username,password,而depends屬性說明了要進行幾項校驗和哪些校驗。

重點是arg元素:、、說明了進行校驗的型別和次序。一般而言,arg0用來校驗字段是否為空,key屬性標註了乙個鍵,而在

假設需要驗證密碼(password),不能為空,且大於等於6小於等於15,則可以寫成

validation.xml:

lable.password=password

errors.required= is required!

注意errors.required= is required這個鍵值對中,errors.required這個鍵是固定這麼寫的,寫成別的就不能顯示,是表示arg0元素中key鍵的值,即password。當在顯示頁面(登入頁面)校驗不通過時,將出現password is required資訊。

minlength

6maxlength

15

lable.password=password

errors.required= is required!

errors.minlength= cannot be smaller than characters

errors.maxlength= cannot be larget than characters

我再解釋一下,元素用來定義最大最小值的定義。

如上所示,最小值為6就是:

minlength

6

最後注意的問題就是在登入jsp頁面中,校驗錯誤的標籤**應該如下所示:

這裡的property的值應該與validation.xml中field元素中的property屬性一致,且必須是formbean類中的字段。

springboot使用Validator校驗方式

我相信每個做開發的都聽過這句 永遠不要相信使用者的輸入 因此後台需要對使用者的每個輸入項都做校驗 手機號 使用者名稱 密碼 郵箱 身份證號這時候就需要hibernate validator校驗框架登場了,下面介紹springboot如何使用hibernate validator進行校www.cppc...

FLEX 中英文姓名校驗器 VALIDATOR

為我那個無聊的緣分測試程式所寫的中英文名字校驗器,希望對大家能有作用 package com.love static public function isasciiletter n number boolean static public function ischinesecharacter n ...

Struts和struts2的不同

struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...