两者的区别:组织校验规则的方式不同:一种是字段优先,称为字段校验器风格;一种是校验器优先,称为非字段校验器风格。
使用字段校验器配置风格时,每个字段校验规则大致遵守如下形式:
<field name="被校验的字段">
<field-validator type="校验器名">
<!--此处需要为不同校验器指定数量不等的校验参数-->
<param name="参数名">参数值</param>
...
<!--校验失败后的提示信息,其中key指定国际化信息的key-->
<message key="I18Nkey">校验失败后的提示信息</message>
</field-validator>
<!--如果该字段需要满足多个规则,下面可以配置多个校验器-->
</field>
可以看出每个<field..../>元素制定一个Action属性必须遵守的规则,该元素的name属性指定了被校验的字段;如果该属性需要满足多个规则,则在<field... />元素下增加多个<field-validator... />元素。
每个<field-validator... />元素指定一个校验规则,该元素的type属性指定了校验器名称,该元素可以包含多个<param... />子元素,用于指定该校验器的参数;除此之外,每个<field-validator... />元素都有一个必须的<message... />元素,该元素确定校验失败后的提示信息。