开发者

Struts 2 validate field if not empty

开发者 https://www.devze.com 2023-03-27 03:37 出处:网络
There are two fields email and phone number (integer) in a form.开发者_运维百科 The form is validated using the struts validation framework (ActionClass-validation.xml). These two fields are optional,

There are two fields email and phone number (integer) in a form.开发者_运维百科 The form is validated using the struts validation framework (ActionClass-validation.xml). These two fields are optional, so the user can leave them blank. But if they are not blank the fields need to be validated. Please help me find out how to write validators in xml to do this.


You can also use annotations. In my opinion it's more clear to understand and easy to write and debug. This is an example:

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

For the number, you can use a regex validator:

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

In your jsp you can reference the errors using field (or action) error tags:

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

I hope the code is quite self-explanatory. Happy coding! ;)


Try this

<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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号