jQuery проверяет не проверяет форму, но не выдает ошибки - PullRequest
2 голосов
/ 11 марта 2011

Я использую jQuery Validate с jQuery Mobile для мобильного приложения. Я пытался получить эту работу целую вечность и не могу понять, что не так. По сути, форма отправляется без запуска какой-либо проверки.

Я вернул хороший отзыв и скопировал версию jquery и validate.js со страницы примера на http://jquery.bassistance.de/validate/demo/. Все еще не работает: (

    <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\">";

Ответы [ 3 ]

2 голосов
/ 11 марта 2011

Ну, ваш код 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"
         }
     });});
0 голосов
/ 23 ноября 2014

Вы добавили «запятую» в блоке rules-> email (в последнем), поэтому ваш код неверен.

email: {обязательный: true, email: true},

должно быть

email: {обязательно: true, email: true}

0 голосов
/ 11 марта 2011

Одна вещь, которая может вызывать проблемы, по крайней мере в IE, - это запятая после последнего элемента email в вашей структуре правил. У последнего элемента в структуре не должно быть запятой после него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...