Struts2可以用于条件验证吗?如果填写了“其他”复选框,那么字段“otherDetails”不能为空?
请注意,我正在寻找Struts2,而不是Struts1。非常感谢任何一个例子。
答案 0 :(得分:4)
您可以使用表达式验证器。如果您通过XML进行验证,则应该具有以下内容:
<validators>
<validator type="expression">
<param name="expression">(other && (otherDetails!=null && otherDetails.trim()!=""))</param>
<message>You must provide other details.</message>
</validator>
</validators>
有关详细信息,请参阅http://struts.apache.org/2.2.1/docs/validation.html。
答案 1 :(得分:2)
您可以使用JS验证。
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;
}