使用Jquery一次显示一条错误消息

时间:2010-07-22 14:37:06

标签: javascript jquery

我试图一次显示一条错误消息,然后一旦错误被更正以显示下一个错误。

例如,一旦日期文本框有效,则会在三个文本框(日期,月份和年份)上进行验证,然后显示月份错误消息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();
        }
    }
};

1 个答案:

答案 0 :(得分:0)

如果你所做的只是验证三个文本字段的输入,你可以使用jQuery验证器插件和日期字段的内置方法。只需覆盖showErrors处理程序,即可在回调参数中显示数组中的第一个错误。

我不熟悉Page_Validators。这是.net的事吗?