Reputation: 59355
Can Struts2 be used for conditional validation? As in, if checkbox "Other" is filled in, then field "otherDetails" must not be empty?
Note that I'm looking for Struts2, not Struts1. Any example is greatly appreciated.
Upvotes: 5
Views: 4467
Reputation: 1070
You can probably use an expression validator. If you're validating via 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 info.
Upvotes: 4
Reputation: 3849
You could maybe 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;
}
Upvotes: 2