【问题标题】:action-validation.xml in struts 2struts 2中的action-validation.xml
【发布时间】:2009-02-05 11:23:35
【问题描述】:

我已经使用 struts 2 启动了一个 Web 应用程序。Apache tomcat 6.0 是我的 Web 服务器。 我很清楚,我们可以使用 action-validation.xml 来验证数据,因为我的 login-validation.xml 是——

<validators> <field name="username"> <field-validator type="requiredstring"> <message>Login name is required</message> </field-validator> </field> </validators>

但它只适用于预定义类型,如 requiredstring、int、email 等。如果我希望用户名必须有一个字符,例如“*”,那么我们如何在 struts 2 中实现这种类型的验证。

还告诉我我上面解释的是服务器端验证还是客户端验证。

【问题讨论】:

    标签: validation struts2


    【解决方案1】:

    对于您的情况,我认为正则表达式验证器适用于您的问题:

    <validators> 
    
       <field name="username"> 
        <field-validator type="requiredstring"> 
        <message>Login name is required</message> 
        </field-validator> 
    
            <field-validator type="regex">
               <param name="expression"><![CDATA[(.*\*.*)]]></param>
           <message>Login name must contain a *</message> 
          </field-validator>
        </field>
    
    </validators>
    

    如果内置验证器不能满足您的要求,您也可以编写自定义验证器。

    【讨论】:

      【解决方案2】:

      对于用户名,有几种处理方法。

      您可以使用fieldexpression 内置验证器并为其提供正则表达式以匹配所需的用户名字符。

      您可以在操作中验证传入的用户名,如果验证失败,则添加一个字段错误。

      以上是服务器端验证。对于像在用户名中需要特殊字符这样简单的事情,客户端 JavaScript 验证可能是最简单的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-03
        • 2013-01-23
        • 2017-03-23
        相关资源
        最近更新 更多