struts validator 驗證配置

來源:互聯網
上載者:User

    這裡以jakarta-struts-1.1為例說明validator驗證的配置方法。

  • 引用jar包(jakarta-struts-1.1/jakarta-struts-1.1/lib)

          實現validator驗證需要struts的兩個jar包:commons-validator.jar和jakarta-oro.jar

  • 設定資源檔

          在src目錄下建立資源檔ApplicationResources.properties,如果其中包含中文,還需要轉換成Unicode編碼,可以使用Eclipse外掛程式PropertyEditor,URL:http://propedit.sourceforge.jp/eclipse/updates/,或者使用naitve2ascii

         user.usrName=姓名<br />user.usrPwd=密碼<br />user.usrPwdConfirm=確認密碼<br />user.usrComment=使用者說明<br />errors.required={0}不可為空#<br />errors.invalid={0}含有非法字元#<br />errors.minlength={0}的位元不能小於{1}#<br />errors.maxlength={0}的位元不能大於{1}#<br />errors.twofields={0}與{1}不相等#

  • 添加validator設定檔(jakarta-struts-1.1/jakarta-struts-1.1/lib) 

          將如下兩個檔案複製到WEB-INF目錄下(內容一般不需要修改,除非使用一下特殊的驗證,後面會說明):

              validator-rules_1_1.dtd

              validator-rules.xml

          在WEB-INF目錄下建立驗證檔案:

              validation.xml(以登入頁面為例說明)

          <?xml version="1.0" encoding="UTF-8"?><br /><form-validation><br /> <formset><br /> <form name="/user"><br /> <field property="usrName" depends="required,maxlength,mask"><br /> <arg0 key="user.usrName" /><br /> <arg1 name="maxlength" key="${var:maxlength}" resource="false" /><br /> <arg2 name="mask" key="$(var:mask)" resource="false" /><br /> <var><br /> <var-name>maxlength</var-name><br /> <var-value>20</var-value><br /> </var><br /> <var><br /> <var-name>mask</var-name><br /> <var-value>^/w+$</var-value><br /> </var><br /> </field><br /> <field property="usrPwd" depends="required,twofields,maxlength,mask"><br /> <arg0 key="user.usrPwd" /><br /> <arg1 key="user.usrPwdConfirm"/><br /> <arg2 name="maxlength" key="${var:maxlength}" resource="false" /><br /> <arg3 name="mask" key="$(var:mask)" resource="false" /></p><p> <var><br /> <var-name>maxlength</var-name><br /> <var-value>20</var-value><br /> </var><br /> <var><br /> <var-name>mask</var-name><br /> <var-value>^/w+$</var-value><br /> </var><br /> <var><br /><var-name>secondProperty</var-name><br /><var-value>usrPwdConfirm</var-value><br /></var><br /> </field><br /> <field property="usrComment" depends="maxlength,mask"><br /> <arg0 key="user.usrComment" /><br /> <arg1 name="maxlength" key="${var:maxlength}" resource="false" /><br /> <arg2 name="mask" key="$(var:mask)" resource="false" /><br /> <var><br /> <var-name>maxlength</var-name><br /> <var-value>20</var-value><br /> </var><br /> <var><br /> <var-name>mask</var-name><br /> <var-value>^/w+$</var-value><br /> </var><br /> </field><br /> </form><br /> </formset><br /></form-validation><br />

 

  • 修改struts設定檔 struts-config.xml

          ......<br /> <action-mappings><br /> <action name="userForm" parameter="handler"<br />path="/user" scope="request"<br />type="com.mycompany.action.UserAction"<br />input="/user.jsp"></p><p> </action><br /> </action-mappings><br /> <message-resources parameter="ApplicationResources"/><br /> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"><br /> <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" /><br /> </plug-in><br /> ......

          注意:需要設定input="/user.jsp",否則運行報錯

  • UserForm應該繼承自ValidatorActionForm 而不是ActionForm

          public class UserForm extends ValidatorActionForm

  • User.jsp添加驗證失敗的返回資訊代碼

          在需要顯示錯誤資訊的地方插入<html:errors/>即可

 

到這裡,就可以實現基本的驗證了。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.