2

我不知道发生了什么,但我的 jquery validate 插件(1.5.5)无法正常工作,而且我不确定我在 Firefox 上进行了大部分测试后多久了。

问题是,我转到我的一个表单,jquery 对其进行验证并点击我的“创建”按钮,我的验证按应有的方式启动,并在包括 IE8 在内的所有浏览器中正确执行此操作。现在它不起作用的地方是我这样做的时候。

我选择第一个下拉列表并选择一些东西。然后点击“创建”,现在所有验证错误都应该出现,除了第一个下拉框的错误。

它在除 IE 8 之外的所有浏览器中执行此操作。我明白了

网页错误详情

用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Win64;x64;Trident/4.0;.NET CLR 2.0.50727;SLCC2;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;平板电脑 2.0) 时间戳:2009 年 11 月 8 日星期日 03:26:08 UTC

消息:需要对象行:890 字符:5 代码:0 URI: http://localhost:3668/Scripts/Plugins-Development/jquery.validate.js

这是第 890 行的内容

return options.length > 0 && ( element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0);

这就像整个方法块。

methods: {

    // http://docs.jquery.com/Plugins/Validation/Methods/required
    required: function(value, element, param) {
        // check if dependency is met
        if ( !this.depend(param, element) )
            return "dependency-mismatch";
        switch( element.nodeName.toLowerCase() ) {
        case 'select':
            var options = $("option:selected", element);
            return options.length > 0 && ( element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0);
        case 'input':
            if ( this.checkable(element) )
                return this.getLength(value, element) > 0;
        default:
            return $.trim(value).length > 0;
        }
    },

不知道发生了什么。

4

2 回答 2

4

验证插件中存在错误。进行此处描述的更改:http: //osdir.com/ml/jQuery/2009-08/msg00151.html

于 2009-11-08T23:40:21.307 回答
1

这似乎是验证插件的一个已知问题,并且也可以修复。 ValidationPlugin 问题页面

于 2009-11-24T07:55:13.630 回答