如果不是空的话,Struts 2验证字段

时间:2011-08-11 14:02:00

标签: java struts2 validation struts-validation

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

2 个答案:

答案 0 :(得分: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"/>

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

答案 1 :(得分: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>

Here is a complete example.