随笔 - 6  文章 - 129  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 822289
  • 排名 - 49

最新评论

阅读排行榜

评论排行榜

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
 </plug-in>
required : 强制某个域不能为空,它没有参数。
validwhen : 通过一个域的值来检查另一个域的值。
minlength ; 检查用户输入的数据长度不小于某个指定的值,需要一个最小的长度变量。
                 配置方法如下
                  <field property="username" depends="required,minlength">
                     <arg key="form.username" />
                     <arg position="1" name="minlength" key="${var : minlength}" resource="false" />
                     <var>
                           <var-name>minlength</var-name>
                           <var-value>6</var-value>
                     </var>
                  </field>
maxlength : 检查用户输入的最大长度。具体配置方法参照上面minlength的配置。
mask : 根据正则表达式来检查数据的格式,它需要一个正则表达式掩码变量。从struts1.1开始,正则表达式必须以“^”开始并以“$”结束,其配置如下
            <field property="username" depends="mask">
               <arg key="form.username" />
               <var>
                    <var-name>mask</var-name>
                    <var-value>^[a-zA-Z]*$</var-value>
                </var>
            </field>
data : 检查一个域是否可以被转换成Data对象。它使用java.text.SimpleDateFormat来进行分析和检验,它可以使用dataPatten或者dataPattenStrict(这个比较严格,它要求输入的数据长度必须与模式中的指定长度一致)例如:
             <field property="birthday" depends="date">
                <arg key="form.date"/>
                <var>
                    <var-name>dataPattern</var-name>
                    <var-value>yyyy-MM-dd</var-value>
                </var>
             </field>
intRange  /  floatRange  /  doubleRange : 检验一个整数 / 浮点数 / 双精度浮点数 的值是否在一个指定的范围内,需要最大值和最小值来指定范围。这些检验分别要依赖于 integer  /  float  / double  检验,所以也要要求将它们也指定到depends属性中。它定义的方法如下(这里以intRange为例)
            <field proerty="age" depends="required,integer,intRange">
               <arg position="0" key="form.age" />
               <arg position="1" name="intRange" key="${var : min }" resource="false" />
               <arg position="2" name="intRange" key="${var : max}" resource="false" />
                     <var>
                           <var-name>min</var-name>
                           <var-value>6</var-value>
                     </var>
                     <var>
                           <var-name>max</var-name>
                           <var-value>16</var-value>
                     </var>
creditCard : 检验一个信用卡的格式是否正确,不需要任何参数,它的定义如下。
                  <field property="card" depends="required,creditCard">
                        <arg key="form.card" />  
                   </field>
email : 检验电子邮件地址格式是否正确,不需要任何参数,它的定义如下。
                 <field property="email" depends="required,email">
                      <arg key="form.email"/>
                  </field>
url : 检验URL的格式是否正确。它有四个参数,分别是allowallschemes,allow2slashes,nofragments和schemes 。
   allowallschemes : 用来指明是否允许所有的schemes 。它的值可以为true(允许)/  false(禁止),默认值为false。如果这个值被设置为真,那么将会忽略schemes变量。
   allow2slashes : 用来指明是否允许两个“/”出现。它的值可以为true(允许)/  false(禁止),默认值为false。
   nofragments : 用来说明是否不允许分段。它的值可以为true(不允许)/  false(允许),默认值为false。
   schemes : 指定合法的schemes,多个可以用逗号分隔。如果没有进行指定,那么默认为http , https ,  和 ftp  。
            url检验的方法如下
           <field proper="custUrl" depends="url" >
                <arg key = "form.coutUrl" />
            </field>

         <field proper="custUrl" depends="url" >
                <arg key = "form.coutUrl" />
                  <var>
                     <var-name>nofragments</var-name>
                     <var-value>true</var-value>
                  </var>
                  <var>
                     <var-name>schemes</var-name>
                     <var-value>http,https,telnet,file</var-value>
                  </var>
            </field>
验证两个输入域是否相等
             <field property="password2" depends="required,validwhen">
                <arg position="0" key="form.password2" />
                <arg position="1" key="form.password" />
                <msg name="validwhen" key="error.password.mathch"/>
                <var>
                    <var-name>test</var-name>
                    <var-value>(*this* == password)</var-value>
                </var>
              </field>


初始化配置文件
 validation.xml内容如下
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "validator_1_1_3.dtd" >
<form-validation>
 <formset>
  <form name="userForm">
      <field proper="" depends="">
            ....................................
      </field>
  </form>
 </formset>
</form-validation>
-------------------------------------------------------------------------------------------------------------------------------
Validator的调用配置
Validator的调用方法要依据所采用的验证方式而定。
   后台服务器端验证
      Action中的Validate属性值设为 true
      还有在页面中通过<html:errors />标记来显示错误信息
   前台Javascrip验证
      Action中的Validate属性值设为 false
     还有在页面用使用<html:javascript />
      <html:form onsubmit="return ValidateXXXForm(this)" >
      </html:form>
      <html:javascript forName="XXXForm" />


posted on 2007-08-18 13:02 Ke 阅读(589) 评论(0)  编辑  收藏 所属分类: struts

只有注册用户登录后才能发表评论。


网站导航: