java程序中验证框架四规则(初级知识)

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

    Plain Validators / Non-Field validators

    FieldValidators

    平滑的验证器(比如表达式验证器) 不绑定于某个特定的属性。当我们定义平滑的验证器时,我们不需要指定属性名。

    属性验证器(比如邮箱验证器)是基于某个特定属性的,它们需要在*-validation.xml指定一个fieldname属性。有两种等价的方式XML语法来定义属性验证器。

    Non-Field Validator Vs Field-Validator

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

    1 <validator>

    2 <field-validator>

    记住以下语法 :

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

    <validator type="expression>

    <param name="expression">foo gt bar</param>

    <message>foo must be great than bar.</message>

    </validator>

    <validator type="required">

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

    <message>You must enter a value for bar.</message>

    </validator>

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

    注意:

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

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

    [html]

    <field name="email_address">

    <field-validator type="required">

    <message>You cannot leave the email address field empty.</message>

    </field-validator>

    <field-validator type="email">

    <message>The email address you entered is not valid.</message>

    </field-validator>

    </field>

    下面两种方式是等价的:

    <field name="email_address">

    <field-validator type="required">

    <message>You cannot leave the email address field empty.</message>

    </field-validator>

    <field-validator type="email">

    <message>The email address you entered is not valid.</message>

    </field-validator>

    </field>

    <validator type="required">

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

    <message>You cannot leave the email address field empty.</message>

    </validator>

    <validator type="email">

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

    <message>The email address you entered is not valid.</message>

    </validator>

    大家可以自己选择。

 

你可能感兴趣的:(java,十全十美)