小编典典

jQuery Validate - 启用隐藏字段的验证

all

在新版 jQuery 验证插件 1.9 中默认忽略隐藏字段的验证。我将 CKEditor 用于 textarea 输入字段,它隐藏了该字段并将其替换为
iframe。该字段在那里,但对隐藏字段禁用了验证。使用验证插件版本 1.8.1 一切都按预期工作。

所以我的问题是如何使用 v1.9 验证插件启用对隐藏字段的验证。

此设置不起作用:

$.validator.setDefaults({ ignore: '' });

阅读 71

收藏
2022-07-07

共1个答案

小编典典

该插件的作者说你应该使用 “不带引号的方括号”[]

http://bassistance.de/2011/10/07/release-validation-
plugin-1-9-0/

发布:验证插件 1.9.0:
“…另一个更改应该使带有隐藏元素的表单的设置更容易,这些现在默认被忽略(选项“忽略”现在默认为“隐藏”)。从理论上讲,这可能会破坏现有设置。在不太可能的情况下,您可以通过将忽略选项设置为“淸]”(不带引号的方括号)来修复它。

要更改所有表单的此设置:

$.validator.setDefaults({ 
    ignore: [],
    // any other default options and/or rules
});

(不需要.setDefaults()document.ready函数内)

或者对于一种特定的形式:

$(document).ready(function() {

    $('#myform').validate({
        ignore: [],
        // any other options and/or rules
    });

});

编辑

有关如何在某些隐藏字段上启用验证但仍忽略其他字段的信息,请参阅此答案。

您可以使用:not()选择器:

ignore: ":hidden:not(.my_item)"

编辑 2

在留下 “这不起作用” 的评论之前,请记住,OP 只是询问jQuery Validate
插件
,他的问题与 ASP.NET、MVC 或任何其他 Microsoft
框架如何改变这个插件的正常情况 无关 预期的行为。如果您使用的是 Microsoft 框架,则 jQuery Validate 插件的默认功能会被
Microsoft 的unobtrusive-validation插件覆盖。

2022-07-07