0

我已经使用 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 中实现这种类型的验证。

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

4

2 回答 2

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>

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

于 2009-02-06T02:48:44.370 回答
0

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

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

您可以在操作中验证传入的用户名,并在验证失败时添加字段错误。

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

于 2009-02-05T16:24:11.727 回答