从jQuery验证中获取所有已声明规则的方法?

Don*_*rem 3 css jquery jquery-validate

如何通过jQuery验证必填字段在JS中循环?我特别想添加.required CSS类到他们。

编辑:

这是一个示例代码:

$("#myForm").validate({
    rules: {
        'firstName': "required",
        'lastName': "required",
         #{get 'jsValidation' /} // some rules come from outside
    }
});
Run Code Online (Sandbox Code Playgroud)

我只需要遍历在jQuery.validate中标记为“必需”的表单字段并添加一个CSS类(例如 .my_required)。

重要的提示!并非所有jQuery.validate必填字段都具有.requiredcss类。

Spa*_*rky 5

作为jQuery Validate插件的一部分,没有方法可以将已声明,定义或分配的规则列表返回给您。但是,.validate()方法中包含的对象文字包含字段及其分配的规则的列表。

console.log($("#myForm").validate().settings.rules);
Run Code Online (Sandbox Code Playgroud)

classHTML中的字段和HTML5属性还可以包含由jQuery Validate插件拾取和使用的规则。

(插件开发人员可能并没有意识到创建一种方法只是为了输出通常通常已经配置好的东西,因此众所周知)。

“我只需要遍历在jQuery.validate中标记为“必需”的表单字段并添加一个CSS类即可。”

如果某些字段具有方法的required规则,.validate()而其他字段具有类的required规则.required,则没有技术可用于返回/选择“必需”的所有字段。因此,如果您不能简单地使用聪明的jQuery选择器和.addClass()方法,则没有解决方案。

(实际上,最好的解决方案是控制HTML,以便在required整个项目中一致地声明规则……通过.validate()方法或HTML class属性,而不是两者结合使用。)