jQuery 验证不验证表单,但不抛出错误

标签 jquery validation jquery-validate

我正在将 jQuery Validate 与 jQuery Mobile 结合用于移动应用程序。我多年来一直试图完成这项工作,但看不出有什么问题。本质上,表单提交时不会触发任何验证。

我已经回溯了很多,并从 http://jquery.bassistance.de/validate/demo/ 的示例页面复制了 jquery 和 validate.js 的版本。 。还是不行:(

    <script type="text/javascript">
    $.validator.setDefaults({
        submitHandler: function() { alert("submitted!"); }
    });

    $().ready(function() {
        // validate the comment form when it is submitted
        //$("#commentForm").validate();

        // validate signup form on keyup and submit
        $("#signupForm").validate({
            rules: {
                username: {
                    required: true,
                    minlength: 2
                },
                password: {
                    required: true,
                    minlength: 5
                },
                password2: {
                    required: true,
                    minlength: 5,
                    equalTo: "#password"
                },
                email: {
                    required: true,
                    email: true
                },
            },
            messages: {
                username: {
                    required: "Please enter a username",
                    minlength: "Your username must consist of at least 2 characters"
                },
                password: {
                    required: "Please provide a password",
                    minlength: "Your password must be at least 5 characters long"
                },
                password2: {
                    required: "Please provide a password",
                    minlength: "Your password must be at least 5 characters long",
                    equalTo: "Please enter the same password as above"
                },
                email: "Please enter a valid email address"
            }
        });
       </script>

表单正在 PHP 中初始化:

       echo "<form id=\"signupForm\" action='".$_SERVER['PHP_SELF']."' method=\"post\">";

最佳答案

你的js代码似乎无效,这是有效的代码

$.validator.setDefaults({
     submitHandler: function() { alert("submitted!"); }
 });

 $().ready(function() {
     // validate the comment form when it is submitted
     //$("#commentForm").validate();

     // validate signup form on keyup and submit
     $("#signupForm").validate({
         rules: {
             username: {
                 required: true,
                 minlength: 2
             },
             password: {
                 required: true,
                 minlength: 5
             },
             password2: {
                 required: true,
                 minlength: 5,
                 equalTo: "#password"
             },
             email: {
                 required: true,
                 email: true
             }
         },
         messages: {
             username: {
                 required: "Please enter a username",
                 minlength: "Your username must consist of at least 2 characters"
             },
             password: {
                 required: "Please provide a password",
                 minlength: "Your password must be at least 5 characters long"
             },
             password2: {
                 required: "Please provide a password",
                 minlength: "Your password must be at least 5 characters long",
                 equalTo: "Please enter the same password as above"
             },
             email: "Please enter a valid email address"
         }
     });});

关于jQuery 验证不验证表单,但不抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5270815/

相关文章:

jQuery 手动验证而不显示错误

javascript - 如何在 "return false"上设置超时?

php - 如何从 PHP 向通常使用 AJAX 调用访问的服务发送 POST 请求?

javascript - 没有脚本标签与服务器端验证?

asp.net-mvc-3 - 将字段标记为必填项 'on the fly'

asp.net-mvc - jQuery Mobile和不打扰的验证

javascript - Javascript/Asp.net 中的对话框未打印文本框

c# - 从 asp.net 中的 Jquery 多选获取选定值

laravel - 未找到列 : 1054 Unknown column 'id' in 'where clause' (SQL: select count(*) as aggregate from `item` where `barcode` = A002 and `id` <> 12)

ruby-on-rails - 如何为同一个 :if condition? 组合多个 Rails 验证