读书人

在validation.xml中配置了requiredif

发布时间: 2012-03-03 15:33:03 作者: rapoo

在validation.xml中配置了requiredif,在客户端出错
requiredif是条件check,为什么在IE端生成的javaScript代码不是条件check呢?
validator-rules.xml :
<validator name= "requiredif "
classname= "org.apache.struts.validator.FieldChecks "
method= "validateRequiredIf "
methodParams= "java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest "
msg= "EM0010 "
jsFunctionName= "validateRequiredIf ">
<javascript> <![CDATA[ function validateRequiredIf(form) {
var isValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
var formName = form.getAttributeNode( "name ");

oRequired = eval( 'new ' + formName.value+ '_validateRequiredIf() ');

for (x in oRequired) {
var field = form[oRequired[x][0]];


if (field.type == 'text ') {
if (field.value == " "){
if (i == 0) {
focusField = field;
}
fields[i++] = oRequired[x][1];
isValid = false;
}
}
}
if (fields.length > 0) {
alert(fields.join( '\n '));
focusField.focus();
}
return isValid;} ]]> </javascript>
</validator>


但是IE端生成的javaScript代码的check,是没有条件check的

清高手指点!!!!!!!!!

------解决方案--------------------


客户端生成的js:
function EM301Form_validateRequiredIf () {
this.a0 = new Array( "txt_maintain_remarks ", "请输入XXXXXXX ", new Function ( "varName ", "this.maxlength= '80 '; return this[varName]; "));
this.a1 = new Array( "txt_pay_term ", "请输入XXXXXXX。 ", new Function ( "varName ", "this.min= '24 '; this.maxlength= '2 '; this.max= '60 '; return this[varName]; "));
this.a2 = new Array( "txt_notes ", "请输入XXXXXXX。 ", new Function ( "varName ", "this.maxlength= '80 '; return this[varName]; "));
}

读书人网 >Java Web开发

热点推荐