2

表单中有两个字段电子邮件和电话号码(整数)。该表单使用 struts 验证框架 (ActionClass-validation.xml) 进行验证。这两个字段是可选的,因此用户可以将它们留空。但如果它们不为空白,则需要验证字段。请帮助我了解如何在 xml 中编写验证器来执行此操作。

4

2 回答 2

4

您还可以使用注释。在我看来,它更易于理解并且易于编写和调试。这是一个例子:

@EmailValidator(type = ValidatorType.SIMPLE, message = "", key = "validation.email")
public String getEmail() {
  return email;
}

对于数字,您可以使用正则表达式验证器:

@RegexFieldValidator(key = "validation.number", message = "", type = ValidatorType.SIMPLE, expression = NUMBER_PATTERN_STRING)
public String getNumber() {
  return number;
}

在您的 jsp 中,您可以使用字段(或操作)错误标签来引用错误:

<s:fielderror fieldName="email" cssClass="myerrorclass"/>
<s:textfield  name="email" cssClass="myclass" cssErrorClass="myothererrorclass"/>

我希望代码是不言自明的。快乐编码!;)

于 2011-11-18T19:54:40.890 回答
1

尝试这个

<field name="email">
    <field-validator type="email">
        <message>Invalid Email (empty email accepted)</message>
    </field-validator>
</field>

<field name="contact">
     <field-validator type="regex">
       <param name="expression"><![CDATA[([1234567890]+)]]></param>
       <message>Invalid Contact Number (empty number accepted)</message>
    </field-validator>
</field>

这是一个完整的例子。

于 2011-11-18T19:37:07.980 回答