博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非字段校验器配置风格
阅读量:7157 次
发布时间:2019-06-29

本文共 2642 字,大约阅读时间需要 8 分钟。

对于非字段校验器配置风格,这是一种以校验器优先的配置方式。在这种配置方式下,校验规则文件的根元素下包含了多个<validator .../>元素,每个<validator .../>元素定义了一个校验规则。

对于采用非字段校验器配置风格的校验规则文件,<validators .../>元素下有多个<validator .../>元素,每个<validators .../>元素都有如下格式:

<validator type="校验器名">

     <param name="fieldName">需要被校验的字段</param>

     <!-- 此处需要为不同校验器指定数量不等的校验参数 -->

     <param name="参数名">参数值</param>

     ...

     <!-- 校验失败后的提示信息,其中key指定国际化信息的key -->

     <message key="I18Nkey">校验失败后的提示信息</message>

</validator >

每个<validator .../>元素定义了一个校验规则,该元素需要一个type属性,该type属性指定了该校验器的名字。

使用非字段校验器的配置风格时,采用的是校验器优先的方式,故必须为<validator .../>配置一个fieldName参数,该参数的值就是被校验的Action属性名。除此之外,还需要指定数量不等的<param .../>元素,这些都是指定校验器所需的参数。

下面采用非字段校验器风格改写前面的校验规则文件。

程序清单:codes\04\4.2\nonField\WEB-INF\src\org\crazyit\app\action\RegistAction-validation.xml

<?xml version="1.0" encoding="GBK"?>

<!-- 指定Struts 2数据校验的规则文件的DTD信息 -->

<!DOCTYPE validators PUBLIC

     "-//OpenSymphony Group//XWork Validator 1.0.3//EN"

     "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">

<!-- Struts 2校验文件的根元素 -->

<validators>

     <!-- 配置指定必填字符串的校验器 -->

     <validator type="requiredstring">

          <!-- 使用该校验器校验name属性 -->

          <param name="fieldName">name</param>

          <param name="trim">true</param>

          <!-- 指定校验失败后输出name.required对应的国际化信息 -->

          <message key="name.requried"/>

     </validator>

     <!-- 配置指定正则表达式的校验器 -->

     <validator type="regex">

          <!-- 使用该校验器校验name属性 -->

          <param name="fieldName">name</param>

          <param name="trim">true</param>

          <param name="expression"><![CDATA[(\w{4,25})]]></param>

          <!-- 指定校验失败后输出name.required对应的国际化信息 -->

          <message key="name.regex"/>

     </validator>

     <!-- 配置指定必填字符串的校验器 -->

     <validator type="requiredstring">

          <!-- 使用该校验器校验pass属性 -->

          <param name="fieldName">pass</param>

          <param name="trim">true</param>

          <!-- 指定校验失败后输出pass.required对应的国际化信息 -->

          <message key="pass.requried"/>

     </validator>

     <!-- 配置指定正则表达式的校验器 -->

     <validator type="regex">

          <!-- 使用该校验器校验pass属性 -->

          <param name="fieldName">pass</param>

          <param name="trim">true</param>

          <param name="expression"><![CDATA[(\w{4,25})]]></param>

          <!-- 指定校验失败后输出pass.required对应的国际化信息 -->

          <message key="pass.regex"/>

     </validator>

     <!-- 配置指定整数校验器 -->

     <validator type="int">

          <!-- 使用该校验器校验age属性 -->

          <param name="fieldName">age</param>

          <!-- 指定整数校验器的范围-->

          <param name="min">1</param>

          <param name="max">150</param>

          <!-- 指定校验失败后输出age.range对应的国际化信息 -->

          <message key="age.range"/>

     </validator>

     <!-- 配置指定日期校验器 -->

     <validator type="date">

          <!-- 使用该校验器校验birth属性 -->

          <param name="fieldName">birth</param>

          <!-- 指定日期校验器的范围-->

          <param name="min">1900-01-01</param>

          <param name="max">2050-02-21</param>

          <!-- 指定校验失败后输出birth.range对应的国际化信息 -->

          <message key="birth.range"/>

     </validator>

</validators>

这份文件与前面的校验规则文件的效果完全一样,所以开发者可以自由选择配置风格。但值得指出的是,并不是所有的校验器都支持两种配置风格。关于各校验器的具体用法后面会有更详细的介绍。

 

转载地址:http://fxhgl.baihongyu.com/

你可能感兴趣的文章
[转] 一文弄懂神经网络中的反向传播法——BackPropagation
查看>>
python实战===一键刷屏
查看>>
alt和title的提示层
查看>>
dedecms _ 栏目无法更新
查看>>
ffmpeg-20160525-git-bin
查看>>
解决php函数json_encode转换后中文被编码为unicode
查看>>
YII框架学习(二)
查看>>
【转】Graphics 关于呈现质量与合成模式
查看>>
GAE 1.5.1 SDK Prerelease
查看>>
快速开发框架V0.01——包含集团管理的组织机构设置
查看>>
使用Maven在Eclipse搭建Web项目 有项目实例 绝对好用
查看>>
转:NLog 自定义日志内容,写日志到数据库;修改Nlog.config不起作用的原因
查看>>
JS构造函数
查看>>
cogs.12运输问题2题解
查看>>
贝叶斯估计、最大似然估计、最大后验概率估计
查看>>
初识HTML5
查看>>
如何实现输入文本TextFiledTTF
查看>>
OSX cordova+Ionic的安装配置
查看>>
MySQL命令3
查看>>
Money-去哪了每日站立会议
查看>>