How to use Struts2 validation for conditional validation?

Can Struts2 be used for conditional validation? As if the "Other" checkbox is filled, then the "otherDetails" field should not be empty?

Note that I'm looking for Struts2, not Struts1. Any example is much appreciated.

+5
source share
2 answers

Perhaps you can use an expression checker. If you are validating through XML, you should have something like:

<validators>

  <validator type="expression">
    <param name="expression">(other && (otherDetails!=null && otherDetails.trim()!=""))</param>
    <message>You must provide other details.</message>
  </validator>

</validators>

See http://struts.apache.org/2.2.1/docs/validation.html for more details .

+4
source

Perhaps you can use JS validation.

JSP:

<s:checkbox id="other" name="other" />
<s:textfield id="otherDetails" name="otherDetails"></s:textfield>

<sx:submit 
            id="button_submit"
            name="button_submit"
            onclick="return checkOther();" />   

JS:

function checkOther() {
    if(document.getElementById('other').checked == true) {
        if(document.getElementyById('otherDetails').value.length == 0) {
            //you should trim the value
            alert("Insert other details");
            return false;
        }
    }

    return true;
}
+2
source

All Articles