Проверка JQuery и вызовы базы данных - PullRequest
0 голосов
/ 04 апреля 2011

Я использую JQuery Validate от Jörn Zaefferer, но мне нужно сделать несколько обращений к базе данных, чтобы проверить некоторые поля (например, чтобы проверить уникальность имени пользователя). Возможно ли это с помощью этого плагина, и если да, есть ли у кого-нибудь примеры синтаксиса? Вот мой текущий код:

$("form").validate({
           rules: {
                txtUserName: {
                   required: true,
                   minlength: 4
               },
               txtPassword: {
                   required: true
               },
               txtConfirmPassword: {
                   required: true,
                   equalTo: "#txtPassword"
               },
               txtEmailAddress: {
                required: true,
                email: true
               },
               txtTelephoneNumber: {
                   required: true,
                   number: true
               }
           },
           messages: {
                txtUserName: {
                    required: "Please enter a User Name",
                    minlength: "User Name must be at least 4 characters"   
               },
               txtPassword: {
                   required: "Please enter a Password"
               },
               txtConfirmPassword: {
                   required: "Please confirm Password",
                   equalTo: "Confirm Password must match Password"
               },
               txtEmailAddress: {
                   required: "Please enter an Email Address",
                   email: "Please enter a valid Email Address"
               },
               txtTelephoneNumber: {
                   required: "Please enter a Telephone Number",
                   number: "Telephone Number must be numeric"
               }
           }
       });
   });

РЕДАКТИРОВАТЬ:

Я получил это далеко, но когда я делаю это, я теряю значения в моей форме, вероятно, потому что форма уже размещена в этот момент?

$("form").validate({
     //errorLabelContainer: $("#divErrors"),

         rules: {
             txtUserName: {
                 required: true,
                 minlength: 4
             },
             txtPassword: {
                 required: true
             },
             txtConfirmPassword: {
                 required: true,
                 equalTo: "#txtPassword"
             },
             txtEmailAddress: {
                 required: true,
                 email: true
             },
             txtTelephoneNumber: {
                 required: true,
                 number: true//,
                 //postalCode:true
             }
         },
         messages: {
             txtUserName: {
                 required: "Please enter a User Name",
                 minlength: "User Name must be at least 4 characters"
             },
             txtPassword: {
                 required: "Please enter a Password"
             },
             txtConfirmPassword: {
                 required: "Please confirm Password",
                 equalTo: "Confirm Password must match Password"
             },
             txtEmailAddress: {
                 required: "Please enter an Email Address",
                 email: "Please enter a valid Email Address"
             },
             txtTelephoneNumber: {
                 required: "Please enter a Telephone Number",
                 number: "Telephone Number must be numeric"
             }
         },
         onValid: addUser()
     });
 });

function addUser () {

   alert($('input[name="txtUserName"]').val());

}

Ответы [ 3 ]

1 голос
/ 04 апреля 2011

Существует правило remote , которое вы используете. Вы можете указать POST URL, который затем может проверить данные и вернуть true / false. Посмотрите на его документацию для более подробной информации. Это именно для вашего сценария

0 голосов
/ 04 апреля 2011

Вы можете использовать вызов ajax для извлечения данных из базы данных, а затем, используя эти данные, вы можете обработать проверку с вашими удаленными правилами.

0 голосов
/ 04 апреля 2011

Плагин проверки JQuery выполняет проверку при каждом изменении и фокусировке ввода. Я не думаю, что это хорошая идея, чтобы позвонить в веб-сервис и проверить базу данных для каждого изменения фокусировки поля. Вместо этого, вы можете сделать это через ajax, например, при отправке формы.

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