我试图一次显示一条错误消息,然后一旦错误被更正以显示下一个错误。
例如,一旦日期文本框有效,则会在三个文本框(日期,月份和年份)上进行验证,然后显示月份错误消息choudl。
到目前为止,我的代码是:
var pi_ArrayValidationResult;
var pi_EachValidator = function(delegate) {
if (typeof (Page_Validators) !== undefined) {
for (var i = 0; i < Page_Validators.length; ++i) {
delegate(Page_Validators[i]);
}
}
};
var pi_CheckValidators = function() {
var fields = {};
pi_EachValidator(function(val) {
if (fields[val.controltovalidate] === undefined) {
fields[val.controltovalidate] = true;
}
fields[val.controltovalidate] = fields[val.controltovalidate] && val.isvalid;
});
for (var field in fields) {
if (fields.hasOwnProperty(field)) {
$('#' + field)
.parent('div.fm-req')
.toggleClass('fm-error', !fields[field]);
此部分是需要修改的位,在上一个错误得到纠正后显示一个错误然后显示下一个错误:
$('#' + field).siblings('span').hide();
$('#' + field).siblings('span').each(function() {
var $this = $(this);
if (!$this.isvalid) {
$this.show();
return false;
}
});
}
}
};
return {
init: function(args) {
var fnOld = ValidatorUpdateIsValid;
ValidatorUpdateIsValid = function() {
fnOld();
pi_CheckValidators();
}
}
};
答案 0 :(得分:0)
如果你所做的只是验证三个文本字段的输入,你可以使用jQuery验证器插件和日期字段的内置方法。只需覆盖showErrors处理程序,即可在回调参数中显示数组中的第一个错误。
我不熟悉Page_Validators。这是.net的事吗?