Добавление правила для плагина проверки jQuery - PullRequest
3 голосов
/ 05 марта 2011

Я использую следующие правила для проверки имени пользователя с помощью метода проверки jQuery. Я хочу добавить другое правило, что имя пользователя должно содержать только буквенно-цифровой и символ подчеркивания. Как я могу добавить дополнительный метод для этого правила. Возможно ли, что если пользователь дает менее 4 символов, то я печатаю сообщение об ошибке минимальной длины, а если пользователь дает недопустимые символы, я выдаю сообщение об ошибке недопустимого символа? Спасибо.

$(document).ready(function() {
$("#sform").validate({
            rules: {
                username: {
                    required: true,
                    minlength: 4
                }
            },

            messages: {
                username: "Minimum length 4.",              
            }
        });
    });

Ответы [ 4 ]

5 голосов
/ 05 марта 2011

добавить как показано ниже

jQuery.validator.addMethod("alphanumeric", function(value, element) {
    return !jQuery.validator.methods.required(value, element) || /^[a-zA-Z0-9_]+$/i.test(value);
}
, "Letters, numbers or underscores only please"); 

и применить ниже

$('validatorElement').validate({
    rules : {
        username : { alphanumeric : true }
    }
});
1 голос
/ 02 февраля 2013

Плагин проверки поставляется с дополнительным-method.js, который включает в себя буквенно-цифровую проверку правильности подчеркивания:

http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/additional-methods.js

Те же правила, что и выше:

$('validatorElement').validate({
    rules: {
        username: { alphanumeric : true }
    }
});
1 голос
/ 05 марта 2011

Используя удаленную проверку ajax, сделайте это

$("#sform").validate({
    rules: {
    username: {
        required: true,
        minlength: 4,
        remote: 'alphanumertic.php'
        //check on server
    }
    },
    messages: {
    username: "Minimum length 4.",              
    }
});

Вероятно, лучший способ - это проверить с помощью регулярного выражения, которое можно найти в

jQuery validate: Как добавить правило для проверки регулярного выражения?

Регулярное выражение для буквенно-цифровых символов и подчеркивания

0 голосов
/ 06 февраля 2013

Старый вопрос, но я добавляю свой ответ, чтобы можно было получить помощь
Можно использовать следующее:

  • создать функцию, которая будет инкапсулировать нашпроверочный тест со следующими сигнатурами: function mytest(value, element, params){...}

  • После того, как мы установили функцию, мы можем затем присоединить ее к плагину jQuery Validation.Для этого мы вызываем функцию addMethod () объекта валидатора.

Мой код:

$(document).ready(function() { 
  // other code
  // :  
  // :  
  $.validator.addMethod(
    "passwd",
     function(value, element, regexp) {
        var re = new RegExp(regexp);
           return this.optional(element) || re.test(value);
     },
    "Invalid input"
   );

  $("#add_user_form").validate({
      rules:{
        user_name: {
           required: true,
           minlength: 5,
           maxlength: 15,
           noSpace: true
        },
        password: {
          required: true,
          minlength: 8,
          passwd: "((?=(.*\\d.*){2,})(?=(.*[a-zA-Z].*){2,})(?=(.*[@#$(){}!~,.!^?/|+=-_%].*){2,}).{8,20})"
      }
    },

    messages:{
       user_name: {
         required: "*",
         minlength: " at least 5 characters",
         maxlenght: " only 15 characters",
         noSpace: " No space Please"
       },
       password: {
         required: "*",
         minlength: " Your password must be at least 8 characters long",
         passwd: " Invalid Password choice"
       }
 }); 
 //
 // more code in document.ready 

хорошие ссылки:
Начиная с jQuery - Как написать пользовательские правила проверки
Как добавить правило для проверки регулярного выражения?

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