jQuery Validate需要不工作,我想知道为什么

时间:2016-11-08 02:05:21

标签: jquery jquery-validate http-status-code-400

我正在尝试使用jqueryvalidation.js验证表单提交。  像这样的浏览器响应

     HTTP Status 400 -

     type Status report

     message

     description The request sent by the client was syntactically incorrect.

我使用此代码但验证无效

   <script type="text/javascript" src = "${contextPath }/static/js/jquery-migrate-1.4.1.min.js"></script>
        <script type="text/javascript">
                window.jQuery || document.write("<script src='${contextPath}/static/ace_admin1.3.1/assets/js/jquery.min.js'>"+"<"+"/script>");
        </script>

        <script type="text/javascript" src = "${contextPath }/static/js/jquery.validate.min.js"></script>
            <script type="text/javascript">
            $.validator.setDefaults({
                submitHandler: function() {
                  alert("sumbit");
                }
            });
                $(function() {
                    $("#subjectForm").validate({
                            rules: {
                                name : {
                                    required: true,
                                    },
                                testCount : {
                                    required: true,
                                    },
                                totalTime : {
                                    required: true,
                                    },
                                totalScore : {
                                    required: true,
                                    }
                                },
                            });
                        });
            </script>
    </head>
    <body>

                                <form id="subjectForm " action="${contextPath }/teacher/testAddSubject" method="POST">
                                <p>add</p>
                                <p><label>subjectName</label><input name = "name" type ="text"/></p>
                                <p><label>Description</label><input name = "description" type ="text"/></p>
                                <p><label>number</label><input name = "testCount" type ="text"/></p>
                                <p><label>time</label><input name = "totalTime" type ="text"/></p>
                                <p><label>grade</label><input name = "totalScore" type ="text" /></p>
                                <button type="submit">submit</button>
                                </form>

    </body>
    </html>

我不知道哪里出错,请帮帮我。关于jQuery版本和jQuery Validate版本?

1 个答案:

答案 0 :(得分:0)

删除...末尾的额外空格

id="subjectForm "

它打破了你的JavaScript。使用破解的JavaScript,jQuery Validate将不会初始化。

工作演示:jsfiddle.net/1crgtu7y/

(您还需要包含jQuery Migrate AFTER jQuery)

至于您的状态代码400:

  

客户端发送的请求在语法上是不正确的。

这与jQuery Validate插件完全无关。

这是something else entirely

  

400错误请求:由于语法格式错误,服务器无法理解该请求。客户不应该在没有修改的情况下重复请求。

因此,我建议您检查浏览器中的 呈现的 DOM,并确保正确形成每个服务器请求(URL)。另外,请查看${contextPath}/teacher/testAddSubject处的服务器端脚本,确保它没有损坏。