如何在jQuery验证中动态设置errorContainer?

时间:2010-01-12 20:41:44

标签: jquery validation jquery-validate

我可以在jQuery validation中动态设置errorContainer,这意味着在单击的按钮上显示不同的错误容器。

这就是我想要做的,但似乎不起作用:

     $('#b1').click(function(evt) {
        $('#form1').validate().resetForm();
        validator.settings.errorContainer = $('#m1');
        validator.settings.errorLabelContainer = $('ul', $('#m1'));

        ValidateAndSubmit(evt)
        if (evt.isDefaultPrevented())
            return false;

        alert("b1 clicked");
    });

    $('#b2').click(function(evt) {
        $('#form1').validate().resetForm();
        validator.settings.errorContainer = $('#m2');
        validator.settings.errorLabelContainer = $('ul', $('#m2'));         

        ValidateAndSubmit(evt);
        if (evt.isDefaultPrevented())
            return false;

        alert("b2 clicked");
    });

我这样做的原因,因为我在一个表单标签中使用asp.net webform我的所有模块,所以我无法在现有表单中定义另一个表单并为每个表单设置验证,我只能有一个验证绑定到表单。

我正在使用encosia的解决方案模拟验证组,使用jQuery验证子表单在一个表单标签下工作完美,但在某些情况下子表单在不同的选项卡下,所以我想在每个选项卡中显示错误容器

我创建了一个简单的示例来解释我正在尝试做什么 sample here

1 个答案:

答案 0 :(得分:0)

如果您已经下载了zip文件,则会在其中找到一个实时网站示例。我最喜欢的是RTM示例。该页面有两种类型的表单字段,一种在表内,另一种在表外。对于表中的字段,错误消息将显示在包含错误的字段列旁边的表的列中。对于表外的字段,错误消息将显示在表单字段旁边。

表单验证库显然缺少适当的文档。我从示例现场网站上学到了很多很酷的技巧。