多阶段表单上的jquery验证

时间:2014-01-01 07:41:05

标签: javascript jquery jquery-validate

我有这个多步骤表单,我想验证(确保指定正确格式的视频文件并填写所有必填字段)。我想使用jquery.validate插件来实现这一点。

问题是在我添加此验证代码之前,“上传”按钮工作正常。我相信我的代码出了问题导致“上传”按钮停止工作。我在这里添加了一个小提琴:http://jsfiddle.net/NZr4n/

我相信这是导致错误的部分。有人可以帮忙吗?

$('#msform').validate({
            rules: {    
                videoFile: {
                    required: true,
                    extension:'mov|mp4|mpeg|wmv'
                }
                videoTitle: {
                    required: true,
                }
                videoDescription: {
                    required: true,
                }
            },
            messages: {
                videoFile: "Please specify a file",
                videoTitle: "Title is required"
                videoDescription: "Description is required"
            }
        });

        if ((!$('#msform').valid()) {
            return false;
        }

1 个答案:

答案 0 :(得分:5)

我在jsfiddle上查看了你的代码,我发现了一些看似很小的语法问题,这些问题产生了重大影响。以下是此处的更正版本(此处为工作jsfiddle的链接):

    $('#msform').validate({
        rules: {    
            videoFile: {
                required: true,
                extension:'mov|mp4|mpeg|wmv'
            }, //notice the comma I added
            videoTitle: {
                required: true,
            }, //notice the comma I added
            videoDescription: {
                required: true,
            }
        },
        messages: {
            videoFile: "Please specify a file", //notice the comma I added
            videoTitle: "Title is required", //notice the comma I added
            videoDescription: "Description is required"
        }
    });

    if ((!$('#msform').valid())) { //I added an extra parenthesis at the end
        return false;
    }

现在大多数主流浏览器都有开发者控制台选项。

在Firefox中,您可以下载Firebug。我在看着你的jsfiddle时打开了Firebug,它立刻向我展示了所有的语法错误。这就是我纠正上述代码的方式。

谷歌浏览器在View下也有一个控制台 - >开发者 - > JavaScript控制台

请记住,对象中的成员必须用逗号分隔。这就是导致大多数语法问题的原因。