使用jquery验证器动态添加条件验证

时间:2013-09-18 14:51:25

标签: jquery jquery-validate

我想在页面加载时动态添加条件规则这是我的代码,我试过了 我创建了jsfiddle 第一个代码示例

 $("input[name$='DistanceToRespondingFireDept']").rules("add", {
        required: {
            depends: function (element) {
                return $("input:radio[name='DistanceToNearestFireHydrnt']:checked").val() == 'U';
            }
        },
        messages: {
            required: "Tested"
        }
    });

第二个代码

$("input[name$='DistanceToRespondingFireDept']").rules("add", {
        required: function (element) {
            return $("input:radio[name='DistanceToNearestFireHydrnt']:checked").val() == 'U';
        },
        messages: {
            required: "Tested"
        }
    });

我收到错误“无法调用未定义的方法调用”

如果我不添加任何条件,只需要简单的要求:true,它的工作原理

任何建议如何修复

1 个答案:

答案 0 :(得分:1)

您遇到语法错误。

开口支架{从这里丢失了......

if (test === "a") { // <-- this opening brace was missing

您的演示http://jsfiddle.net/TYbS5/4/

您还应该将jQuery Validate插件更新到1.11.1版本,这是目前最新版本。

最后,你的两个按钮都是type="submit",这意味着插件会认为它们都是用于提交表单。您应该将“CLEAR”按钮更改为type="button",以防止插件捕获其点击事件。


修改

根据评论,这里是条件验证的代码......

required: function() {
    return $('#DistanceToNearestFireHydrnt1').is(':checked');
},

工作演示http://jsfiddle.net/TYbS5/5/