快速业务通道

Struts表单验证设计指南 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
uot; />    <var>    <var-name>minlength</var-name>    <var-value>8</var-value>    </var>    <var>    <var-name>secondProperty</var-name>    <var-value>password2</var-value>    </var>    </field>

其中一个<Field>对应于一个Form Bean的一个Field,<Field>标记的property属性说明了这个Field对应的Form Bean的Field名称,这个名称要跟struts-config.xml文件中的<form-bean>中定义的名字一致.depends属性说明了这个Field依赖于那些校验器的校验,可以使用多个校验器,各个校验器之间使用逗号隔开.<msg>标记说明了当这个Field通不过校验的时候向用户提供的错误信息.name属性指定了对应的校验器,key属性指定了定义在ApplicationResources.properties文件中的错误信息.<arg0>和<arg1>是传递给校验器的参数.<var>标记定义了参数的名字和参数值.上面的这个例子说明了password字段由Required,Minlength,Twofields校验器进行校验.指定了这个Field不能为空,而且最小长度不能小于8为,并且必须和同一个Form中的另一个名为password2的字段相同.如果用户的输入不能满足这些要求,校验器将会抛出异常.

下面开始将怎么在这个配置文件中配置各个校验器实现对form中的多中类型的field进行校验.

Required Validator

这个校验器用来校验Form的输入数据不能为空.如果某一个Form 的 Field 依赖于这个校验器,那么如果用户在Form中没有输入这个Field对应的输入数据时,Required校验器将会触发一个Exception,这个Exception的错误信息可以在页面或者服务端被捕捉到.

例子:

<field  property="test" depends="required">    <msg name="required" key="test.required"/>    <arg0 key="test.testField.displayName"/>    </field>

上面的例子说明了test字段的校验规则是不能为空,在ApplicationResources.properties中的相应的定义信息可能是下面这样的情况:

Test.testField.displayName =测试字段 #上面在<arg0>标记中定义的key= “test.testField” 对应这个信息    Test.required={0} 不能为空,请重新输入. #在上面定义的<msg>标记对应这个信息

如果Validator校验到用户没有输入test这个字段,就会将test.testField对应的信息作为test.required的参数传递给校验器,如果在JSP页面中捕捉了错误信息,错误信息将会是下面的这个形式:

“测试字段 不能为空,请重新输入”

Struts表单验证设计指南(3)

时间:2011-04-23

Mask Validator

Mask Validator校验用户输入的数据是否遵照一定的规则,这个规则由开发者在validator.xml文件中定义.

例子:

<field property="postalCode" depends="mask">    <arg0 key="test.postalCode.displayname"/>    <arg1 name=”mask” key="${var:mask}" resource="false"    <var>    <var-name>mask</var-name>    <var-value>^0d*contentlt;/var-value>    </var>    </field>

上面的<arg1>标记说明了这个校验的第二个参数是定义在下面的<var>标记的名为mask的值.<var-value>的值说明了这个字段必须是以数字0开头,以任意数字字符结尾的一个串.

Range Validator

这个校验器校验字段是否在一个数字范围内.

例子:

<field property="age" depends="range">

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号