Struts 实现用户注册

struts课程2 用户注册的表单验证 不使用FormBean的Validate方法

1.导入struts
2.创建一个Form Action,继承ValidatorForm,添加Properties:username password age email
3.创建一个Validate的xml配置文件:form.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">
<!-- 上面是DTD -->

<!-- 所有定义的表单验证写在下面的标签内 -->          
<form-validation>
 <!-- 一组form -->
 <formset>
  <!-- form的name对应struts-config.xml中配置的formbean的名字 -->
  <form name="regiterForm">
   <!-- 每个表单属性的标签 ,depends使用一些定义好的规则来约束本属性,required意为必填-->
   <field property="username" depends="required">
    <!-- 在这个标签内部制定验证规则 -->
    <!-- 参数, key指代当前属性的名字,这个名字应该在配置文件中有一个对应-->
    <arg0 key="usernamelabel"/>
   </field>
   <field property="password" depends="required">
    <arg0 key="passwordlabel"/>
   </field>
   <field property="age" depends="required,integer,intRange">
    <arg0 key="agelabel"/>
     <!-- 使用一些struts自带的验证规则,intRange验证整数范围
     resourse = false 说明key的取值不从资源文件中获取,而直接
     从本文件获取(在下面设置)
     key 中要使用 固定的 标记${var:var_name}
     -->
    <arg1 name="intRange" key="${var:min}" resource="false"/>
    <arg2 name="intRange" key="${var:max}" resource="false"/>
    <var>
     <var-name>min</var-name>
     <var-value>16</var-value>
    </var>
    <var>
    <var-name>max</var-name>
    <var-value>90</var-value>
    </var>
    <!-- 以上设置使年龄为16-90 -->
   </field>
   
   <field property="email" depends="required,email">
    <arg0 key="emaillabel"/>
   </field>
   <!-- 设置完成后,需要到配置文件中配置 所有用到的参数 -->
  </form>
 </formset>
</form-validation>
<!-- 
常用验证,depends=""

required 必选项,为空则为非法
mask 使用正则表达式验证
<field property="telphone" depends="required,mask">
   <arg0   key="telphonelabel"/>
   <var >
     <var-name>mask</var-name>
     <var-value>^\d{3}(-\d{8})?$</var-value>  此处正则
   </var>
</field>
minLength,maxLength 验证最大长度
email 使用内置的方法验证电子邮件地址,该规则定义在validator-rules.xml文件中
-->

 4.配置资源文件

usernamelabel=UserName
agelabel=Age
emaillabel=Email
passwordlabel=PassWord
errors.required={0} Is Required\!\!
errors.integer={0} must be an integer
errors.email={0} Is Not A Invalid Email Address
errors.range={0} is not in the range {1} through {2}

5.配置struts-config.xml
 

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/form.xml"/>
  </plug-in>

 6.修改FormBean

去掉Validate方法,有的话,直接就跳到Action执行execute方法了

7.测试

你可能感兴趣的:(apache,Web,xml,正则表达式,struts)