从jQuery Validate 1.7切换到1.11时出现的问题

从jQuery Validate 1.7切换到1.11时出现的问题,jquery,jquery-validate,Jquery,Jquery Validate,我们刚刚将应用程序从jQuery Validate 1.7移动到1.11,并修改了所有视图中的代码,使其与1.10版本同步 但是,对于一个场景,validate.js会引发null对象异常 我已经将范围缩小到js中的一个函数,从中抛出此异常,但无法到达导致问题的特定LOC/与新版本不兼容 在进行故障排除时,我使用了1.7版本的validate.js,似乎一切正常 任何人都可以分享关于如何调试工具/任何其他方式或解决此问题的信息吗 注意:我不能共享代码 决议: 请让我知道,如果这是解决这个问题的正

我们刚刚将应用程序从jQuery Validate 1.7移动到1.11,并修改了所有视图中的代码,使其与1.10版本同步

但是,对于一个场景,validate.js会引发null对象异常

我已经将范围缩小到js中的一个函数,从中抛出此异常,但无法到达导致问题的特定LOC/与新版本不兼容

在进行故障排除时,我使用了1.7版本的validate.js,似乎一切正常

任何人都可以分享关于如何调试工具/任何其他方式或解决此问题的信息吗

注意:我不能共享代码

决议: 请让我知道,如果这是解决这个问题的正确方法,或者我需要更改我的算法

当从案例2移动到案例1时出现此问题请参见相关注释,因为在本场景中,只有选中的“复选框”被发回服务器,而不是组

因此,validationtargetFor在validate.js中失败,因为传入的元素是控件而不是组,所以索引[0]会抛出错误

validationTargetFor: function (element) {
            // if radio/checkbox, validate first element in group instead

        if ( this.checkable(element) ) {
         element = this.findByName( element.name ).not(this.settings.ignore)[0];
        }
        return element;
        },
将其更改为:

validationTargetFor: function (element) {
            // if radio/checkbox, validate first element in group instead

            if (this.checkable(element)) {
                if (this.findByName(element.name).not(this.settings.ignore)[0] == undefined)
                    return element;
                else
                    return this.findByName(element.name).not(this.settings.ignore)[0];
            }

            return element;
        },
谢谢你,斯帕奇。。 我在视图中更改了代码,解决了这个问题。 首先,在一个类中添加所有依赖的响应控件,比如跳过,然后从表单验证中忽略这个类

("#form").validate({
        groups: { checks: checkbox_names },
        groups: { radios: radiobox_names },
        errorPlacement: function (error, element) {
           //some code            
        },
        ignore: "skip"
    });

因此,现在动态问题相关的问题会毫无问题地发回。

使用诸如firebug FF、开发者工具Chrome等调试器工具。您可以共享url吗?在进行故障排除时,我使用了1.7版本的validate.js,一切都正常。那么,包含最新版本的验证插件可以让它正常工作吗?为什么你不能这样做,继续前进?因为1.7版本是我们升级到1.11的旧版本。因此,作为一种不顾一切的措施,使用旧版本的validate.js运行代码,效果很好。希望它能消除困惑。如果你不能分享代码,那么这是离题的。根据常见问题解答,有关代码问题的问题必须在问题中显示足够的代码以复制问题。我可以分享场景的详细信息,我们的应用程序用于回答调查,并根据某些业务规则,我们隐藏/显示问题。当带有复选框ResponseMultiple ans的从属问题更改可见性状态时,会出现此问题。e、 案例一:问:你快乐吗?案例二:你快乐吗?发生了什么事?当场景从案例2初始更改为案例1时,将出现多选复选框组问题。更改对的响应是否满意?