扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年8月21日
关键字: WebWork
三、定义校验规则
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="name">
<!--必添-->
<field-validator type="requiredstring">
<!--是否使用trim-->
<param name="trim">true</param>
<!--提示的错误信息-->
<message>You must enter a name</message>
</field-validator>
</field>
<field name="currDate">
<field-validator type="date">
<!--最小时间-->
<param name="min">01/01/2007</param>
<!--最大时间-->
<param name="max">02/28/2007</param>
<!--提示的错误信息-->
<message>
The date must be between 01-01-2007 and 02-28-2007.
</message>
</field-validator>
</field>
<field name="url">
<!--short-circuit是否短路检验,类似&&运算的短路算法-->
<field-validator type="required" short-circuit="true">
<!--提示的错误信息-->
<message>You must enter a value for url.</message>
</field-validator>
<!--webwork提供的url验证-->
<field-validator type="url" short-circuit="true">
<!--提示的错误信息-->
<message>Not a valid url.</message>
</field-validator>
</field>
<field name="mail">
<field-validator type="required">
<message>You must enter a value for 邮件.</message>
</field-validator>
<!--mail的验证,验证器由webwork提供-->
<field-validator type="email">
<message>Not a valid 邮件.</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<!--同样的最大最小值-->
<param name="min">1</param>
<param name="max">200</param>
<message>
<!--注意这里,msn中可以用表达式取出值栈中的值例如${min}-->
Only people ages ${min} to ${max} may be true,otherwise
you are a ghost
</message>
</field-validator>
</field>
<field name="desc">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>You must enter a desc</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">1</param>
<param name="maxLength">10</param>
<!--从属性文件中取出my.key显示,如果取不到my.key就显示
You must enter a desc length=10(my.key)-->
<message key="my.key">
You must enter a desc length=10(my.key)
</message>
</field-validator>
<!--可以使用正则表达式-->
<field-validator type="regex">
<param name="expression">
<![CDATA[([a-z][0-9][A-Z][x])]]>
</param>
<!--message可以由固定的字符串,值栈中的值${desc}以及通过调用方法取到的
属性文件中的值${getText('my.key')}-->
<message>
"regex error ${getText('my.key')} ${desc}"
</message>
</field-validator>
</field>
<!--上边的验证叫字段验证,下边这些验证叫普通验证,普通验证是优于字段验证的。
在使用短路的时候要小心-->
<!--上边那些都是基于字段的验证,这个是基于Action的验证
如果要在页面显示这些消息,需要加入<ww:actionError/>
-->
<validator type="expression">
<!--可以基于表达式的验证name.equals(desc)-->
<param name="expression">name.equals(desc)</param>
<message>name not the same as desc</message>
</validator>
<!-- Plain Validator 2 -->
<!--可以基于表达式的验证mail.startsWith('mark')-->
<validator type="expression" short-circuit="true">
<param name="expression">mail.startsWith('mark')</param>
<message>Email does not start with mark</message>
</validator>
</validators>
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者