首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多部分形式的jQuery验证

多部分形式的jQuery验证
EN

Stack Overflow用户
提问于 2013-12-08 22:25:09
回答 1查看 5.7K关注 0票数 0

这可能会变成多个问题,因为我工作的方式,但我需要一些认真的jQuery帮助。我根据bassistance.de的示例创建了一个多部分表单。在该演示中,验证相当简单--使用类指定所需字段,迭代并从表单元素标题属性中提取错误消息。

我的表单比演示要复杂得多--我在这个实例中实现了验证,这让我不知所措。例如,在演示中,错误就出现在form元素之后。在我的例子中,我希望指定我想要验证的字段,创建规则,并根据是否是错误来指定要将错误放在类中的位置。我正在使用Blueprint框架,它已经为这些东西构建了类,但是,正如我所说的,我不知道如何使它工作。

理想情况下,我也希望能够更改演示中的验证方法,并替换我更熟悉的方法--比如:

代码语言:javascript
运行
复制
$("#theForm").validate({
    errorPlacement: function(error, element) {
        if(element.attr("name") === "name") {
            error.appendTo("#nameError");
        }
    },
    groups: {
        capacityGroup: "progMin progMax",
    },
    rules: {
        fName: "required",
    },
    messages: {
        fName: "*First Name is required",
    }
});

所以我当然希望有人能帮上忙。我在www.43rdworld.com/multitest.htm上传了一个略有不同的演示,添加了一个用于错误消息和样式表的div。我真的很想改变表单的验证方式,这样在提交之前它仍然可以从一个页面到另一个页面进行验证,但是让我指定所需的字段,编写我自己的规则和消息,并指定这些消息的显示位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-09 21:47:42

Quote OP:

“__,这可能会变成多个问题,,在我努力完成它的过程中,但是我需要一些严肃的JQuery帮助。”

你的帖子并不完全符合StackOverflow格式,因为只有简洁和具体的问题才会出现。请参阅StackOverflow问题清单sscce.org以获得更多的帖子指南。

但是,如果您想使用jQuery验证执行多步表单,有几种不同的方法;下面是我的.

当我创建多步表单时,我为每个部分使用了一组唯一的<form>标记。然后,在转到下一节之前,我使用方法测试该部分。(不要忘记首先初始化插件;在DOM就绪的所有表单上调用.validate()__。)

然后,在最后一节中,我对每个表单使用.serialize(),并将它们连接到要提交的数据查询字符串中。

就像这样..。

代码语言:javascript
运行
复制
$(document).ready(function() {

    $('#form1').validate({ // initialize form 1
        // rules
    });

    $('#gotoStep2').on('click', function() { // go to step 2
        if ($('#form1').valid()) {
            // code to reveal step 2 and hide step 1
        }
    });

    $('#form2').validate({ // initialize form 2
        // rules
    });

    $('#gotoStep3').on('click', function() { // go to step 3
        if ($('#form2').valid()) {
            // code to reveal step 3 and hide step 2
        }
    });

    $('#form3').validate({ initialize form 3
        // rules,
        submitHandler: function (form) {
           // serialize and join data for all forms
           var data = $('#form1').serialize() + '&' + $('#form2').serialize() + '&' + $(form).serialize()
           // ajax submit
           return false; // block regular form submit action
        }
    });

    // there is no third click handler since the plugin takes care of this 
    // with the built-in submitHandler callback function on the last form.

});

请记住,上面的click处理程序没有使用type="submit"按钮。这些是常规按钮,无论是在form标记之外还是在type="button"之外。

只有最后一个表单上的按钮是一个普通的type="submit"按钮。这是因为我只是在最后一种形式上利用插件内置的submitHandler回调函数。

“概念证明”演示: http://jsfiddle.net/dNPFX/

另见参考:

https://stackoverflow.com/a/19546698/594235

Quote OP:

“我想指定我想要验证的字段,创建规则,并指定我想用类放置错误的位置,这取决于它们是否是错误。我使用的是Blueprint框架,它已经为这些东西构建了类,但正如我所说的,我不知道如何使它工作。”

再说一次,这不是很具体。您是在说使用class设置规则还是使用自定义class来指定错误?你试过什么?class

如果使用请参阅文件,可以看到有一些名为validClasserrorClass的选项,这些选项允许您在字段有效或无效时指定用于字段的不同class名称。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20459962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档