struts2学习之验证框架四规则文件的书写风格

2014-11-24 10:26:46 · 作者: · 浏览: 0

规则文件的书写风格
总得来说,XWork发布了两种类型的验证器,包括我们自定义的.

Plain Validators / Non-Field validators
FieldValidators
平滑的验证器(比如表达式验证器) 不绑定于某个特定的属性.当我们定义平滑的验证器时,我们不需要指定属性名.
属性验证器(比如邮箱验证器)是基于某个特定属性的,它们需要在*-validation.xml指定一个fieldname属性.有两种等价的方式XML语法来定义属性验证器.

Non-Field Validator Vs Field-Validator
在-validation.xml文件中,我们有两种方式来定义验证器:

1

2

记住以下语法 :

非属性验证器:我们可以在元素中定义两种验证器,不管是平滑的还是属性验证器.

foo gt bar
foo must be great than bar.


bar
You must enter a value for bar.

属性验证器: 元素除了继承了 元素的fieldName属性以外,基本上跟元素是一样的.定义 在中的属性验证器会自动从父元素的fieldName属性获得fieldName属性值.这样做的原因是方便的将一些验证器进行分组,即可以在一个元素中定义多个元素,这些属性验证器都将验证该属性.如果不这样做的话,在每个单独的元素中我们都要指定fieldName 属性.

注意:

通常在元素中定义属性验证器比在定义并指定属性名的方式要好,因为这种方式清楚明了.

使用field-validator定义一个属性验证器:


[html]


You cannot leave the email address field empty.


The email address you entered is not valid.

下面两种方式是等价的:



You cannot leave the email address field empty.


The email address you entered is not valid.




email_address
You cannot leave the email address field empty.


email_address
The email address you entered is not valid.

大家可以自己选择.