zoukankan      html  css  js  c++  java
  • Struts2 验证规则配置文件

    1. Action级别校验命名格式:
    ActionClassName-validation.xml
    2. Action中某个方法的校验命名格式:
    ActionClassName-ActionAliasName-validation.xml
    注意:这里的ActionAliasName(action别名)指的是struts.xml中Action name="XX"的xx的名称,而不是method="XX"的名称。
    3. 如果以上2个校验文件都存在,那么2个文件都会被执行;如果2个校验文件中的校验属性相同那么将被执行同校验属性中ActionClassName-ActionAliasName-validation.xml中的校验规则。
    4. 在使用visitor校验器的时候,<message>out</message>必须要配置且out消息必须得写,否则会报空指针错误。
    5. 正则表达式校验配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
    <validators>
        <!-- 添加对用户名的校验 -->
        <field name="user.username">
            <field-validator type="requiredstring">
                <param name="trim">true</param>
                <message>用户名不能为空</message>
            </field-validator>
            <field-validator type="regex">
                <param name="regex"><![CDATA[(w{4,10})]]></param>
                <message>姓名要在4-10位之间</message>
            </field-validator>
        </field>
    
        <!-- 添加对密码的校验 -->
        <field name="user.password">
            <field-validator type="requiredstring">
                <param name="trim">true</param>
                <message>密码不能为空</message>
            </field-validator>
            <field-validator type="regex">
                <param name="regexExpression"><![CDATA[(w{4,10})]]></param>
                <message>密码输入不合法,必须为长度在4~10之间的数字或者字母</message>
            </field-validator>
        </field>
    </validators>

    其中以上配置文件中红色的属性是正确的。官方的Demo中的属性如下:

    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
            "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    <validators>
      <field name="bar">
          <field-validator type="regex">
              <param name="expression">[0-9],[0-9]</param>
              <message>The value of bar must be in the format "x, y", where x and y are between 0 and 9</message>
         </field-validator>
      </field>
    </validators>

    如果属性配置成“expression”,将不能正确进行属性验证!

  • 相关阅读:
    BZOJ 1051: [HAOI2006]受欢迎的牛
    BZOJ 3668: [Noi2014]起床困难综合症
    BZOJ 4395: [Usaco2015 dec]Switching on the Lights
    BZOJ 2763: [JLOI2011]飞行路线
    Bzoj 3196 Tyvj 1730 二逼平衡树
    BZOJ 2407: 探险/4398: 福慧双修
    BZOJ 3040: 最短路(road)
    BZOJ 2809: [Apio2012]dispatching
    BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
    BZOJ 4590: [Shoi2015]自动刷题机
  • 原文地址:https://www.cnblogs.com/Candies/p/4184800.html
Copyright © 2011-2022 走看看