struts2中的数据校验文件配置方法

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"

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

<!--校验开始 --> 

<validators>

  • 必填校验器
<field name="requiredValidatorField">

   <field-validator type="required">

     <message >必填内容</message>

   </field-validator>

</field>
  • 必填字符串校验
<field name="requiredStringValidatorField">

   <field-validator type="requiredstring">

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

     <message  >字符串必填校验</message>

   </field-validator>

</field>

  • 对int类型的校验
<field name="integerValidatorField">

   <field-validator type="int">

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

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

      <message key="validate.integerValidatorField" />

   </field-validator>

</field>

  • 对日期的校验
<field name="dateValidatorField">

    <field-validator type="date">

        <param name="min">01/01/1990</param>

        <param name="max">01/01/2000</param>

        <message key="validate.dateValidatorField" />

    </field-validator>

</field>

  • 对email的校验
<field name="emailValidatorField">

    <field-validator type="email">

       <message key="validate.emailValidatorField" />

    </field-validator>

</field>

  • 对URL的校验
<field name="urlValidatorField">

     <field-validator type="url">

         <message key="validate.urlValidatorField" />

     </field-validator>

</field>

  • 对字符串长度的校验
<field name="stringLengthValidatorField">

      <field-validator type="stringlength">

         <param name="maxLength">4</param>

         <param name="minLength">2</param>

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

         <message key="validate.stringLengthValidatorField" />

      </field-validator>

</field>

  • 对正则表达式的校验
<field name="regexValidatorField">

        <field-validator type="regex">

            <param name="expression">.*\.txt</param>

            <message key="validate.regexValidatorField" />

        </field-validator>

</field>

  • 对字段表达式的校验
<field name="fieldExpressionValidatorField">

   <field-validator type="fieldexpression">

   <param name="expression">(fieldExpressionValidatorField == requiredValidatorField)</param>

  <message key="validate.fieldExpressionValidatorField" />

  </field-validator>

</field>

</validators>

----------------------------------------------------------------------------------------------

以上均为字段校验器;对于非字段校验器:

  如下:

   <validator type="stringlength">

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

      <param name="maxLength">14</param>

      <param name="minLength">8</param>

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

      <message>密码只能为8到14位</message>

  </validator>

--------------------------------------------------------------------------------------------------

校验器短路:

     <field-validator type="fieldexpression" short-circuit="true">

  •  校验器的执行顺序

1. 所有非字段校验风格的校验器优先于字段校验风格的校验器;
2. 所有非字段校验风格的校验器中,排在前面的会先执行;
3. 所有字段校验风格的校验器,排在前面的会先执行;

  • 校验器的短路原则
1. 所有非字段检验器时最优先执行的,如果某个非字段校验器校验失败了,则该字段上的所有字段校验器都不会获得校验机会;
2. 非字段校验校验失败,不会阻止其他非字段校验执行;
3. 如果一个字段校验器校验失败后,则该字段下且排在该校验失败后的检验器之后的其他字段校验器不会获得校验机会;
4. 字段校验器永远不会阻止非字段校验器的执行!

  •  短路校验器
短路校验器:只需在或元素中添加short-circuit=”true”属性。
注:在struts2.1.6版本,已经支持客户端的短路校验。

--------------------------------------------------------------------------------------------------

示例代码:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC
  "-//OpenSymphony Group//XWork Validator 1.0//EN"
  "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<field name="username">
    <field-validator type="requiredstring">
      <param name="trim">true</param>
      <message>用户名必须填写</message>
    </field-validator>
</field>

<field name="password">
    <field-validator type="requiredstring">
       <param name="trim">true</param>
       <message>密码必须填写</message>
   </field-validator>
   <field-validator type="stringlength">
      <param name="trim">true</param>
      <param name="maxLength">14</param>
      <param name="minLength">8</param>
      <message>密码只能为8到14位</message>
   </field-validator>
 </field>
</validators>





 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值