且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

字段校验器配置风格

更新时间:2022-09-15 08:49:35

Struts 2提供了两种方式来配置校验规则:字段校验器风格和非字段校验器风格。这两种风格其实并没有本质的不同,只是组织校验规则的方式不同:一种是字段优先,称为字段校验器风格;另外一种是校验器优先,称为非字段校验器风格。

前面应用中校验规则文件都是采用字段校验器风格配置的,采用字段校验器配置风格时,校验文件里以<field .../>元素为基本子元素。我们查看xwork-validator-1.0.3.dtd文件(校验规则的DTD文件),就可以发现如下定义代码:

#validators元素的fieldvalidator中都可以出现一次或无限多次

<!ELEMENT validators (field|validator)+>

上面的元素定义片段中的<validators.../>是校验规则文件的根元素,该根元素下可以出现两个元素:<field.../>元素和<validator .../>元素,出现第一种元素时就是字段优先,就是字段校验器配置风格;出现第二种元素时,就是校验器优先,就是非字段校验器配置风格。

使用字段校验器配置风格时,每个字段校验规则大致遵守如下形式:

<field name="被校验的字段">

     <field-validator type="校验器名">

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

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

          

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

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

     

     <!-- 如果该字段需要满足多个规则,下面可以配置多个校验器 -->

     

</field>

从上面的配置片段中可以看出,采用字段校验器风格时,<field .../>元素是校验规则文件的基本组成单位,每个<field .../>元素指定一个Action属性必须遵守的规则,该元素的name属性指定了被校验的字段;如果该属性需要满足多个规则,则在该<field .../>元素下增加多个<field-validator .../>元素。

每个<field-validator .../>元素指定一个校验规则,该元素的type属性指定了校验器名称,该元素可以包含多个<param .../>子元素,用于指定该校验器的参数;除此之外,每个<field-validator .../>元素都有一个必需的<message .../>元素,该元素确定校验失败后的提示信息。

<message .../>元素的key属性指定了校验失败后提示国际化信息对应的key,该元素的内容是校验失败后的默认提示信息。

因为前面已经提供了大量的字段校验器配置风格的配置文件,故此处不再给出示范。

 

 

本文转自 fkJava李刚 51CTO博客,原文链接:http://blog.51cto.com/javaligang/880467 ,如需转载请自行联系原作者