struts资源文件验证表单代码

来源:互联网 发布:freemaker解析json 编辑:程序博客网 时间:2024/06/13 02:12

一  form表单必须要实现继承validateForm,并且不能实现validate方法,不然会默认使用validate方法验证。

package com.jinchun.struts.form;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.validator.ValidatorForm;

 public class LoginForm extends ValidatorForm {

        private String sex;

       public void reset(ActionMapping mapping, HttpServletRequest request) {

                     }

       public String getSex() {

              return sex;

       }      

       public void setSex(String sex) {

              this.sex = sex;

       }    

       }

}

二:

  使用validator_rules.xml新建validation.xml文件作为验证规则文件

 <!DOCTYPE form-validation PUBLIC

          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"

          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

<form-validation>

<formset>//里面可以验证多个表单

  <form name="loginForm">//验证loginForm表单,这个表单名称和//struts.config.xml文件中的表单名称相对应。

  <field property="uname" depends="required,mask">//验证必填和规则两项

  <arg0 key="namelab"/>

  <var>

  <var-name>mask</var-name>

  <var-value>[A-Za-z]</var-value>

  </var>

  </field>

  <field property="age" depends="required,intRange">//验证必填和范围2项

  <arg0 key="agelab"/>

  <arg1 name="intRange" key="${var:min}" resource="false"/>

  <arg2 name="intRange" key="${var:max}" resource="false"/>

  <var>

     <var-name>min</var-name>

     <var-value>15</var-value>

  </var>

  <var>

     <var-name>max</var-name>

     <var-value>100</var-value>

  </var>

  </field>

  </form>

</formset>

</form-validation>

 三 资源文件里面如下

ApplicationResources.properties

# Resources for parameter 'com.jinchun.struts.ApplicationResources'

# Project struts_validate

namelab=姓名

errors.required=<font size=2  color=red>{0}是必须填的</font>//对应必填

errors.range=<font size=2 color=red>{0}是必须在{1}和{2}之间的</font>//对//应范围

agelab=年龄

errors.invalid=<font size=2  color=red>{0}是无效的</font>//对应mask

sexlab=性别

tellab=电话

emaillabe=email地址

 四 struts-config.xml文件中

     <message-resources

       parameter="com.jinchun.struts.ApplicationResources" />

       <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

       <set-property property="pathnames"

           value="/WEB-INF/validator-rules.xml,

                                                  /WEB-INF/validation.xml" />

    </plug-in>//这句话是从validator-rules.xml中复制的

</struts-config>

 

原创粉丝点击