2015-05-21 3 views
0

Я создаю собственное правило в Validate PLugin из JQuery с одним плагином jQuery для mroe. Я использую плагин jQuery https://github.com/Bluefieldscom/intl-tel-input для форматирования номера телефона. Я включаю правило в validate plugin, как это.Проверка телефона с помощью другого плагина проверки телефона

$("#UserSettingsForm").validate({ 
     rules: { 
      "data[User][phone]": { 
       required: true, 
       fieldPresent: function() { 
        return $("#UserPhone").intlTelInput("isValidNumber"); 
       } 
      } 
     }, 
    }); 

Это возвращает $("#UserPhone").intlTelInput("isValidNumber"); истина/ложь, если число является действительным. Но его не привязывать к элементам «данные [Пользователь] [телефон]», возможно, я могу прикрепить его к элементу без упоминания идентификатора, чтобы я мог использовать его глобально. Также он проверяет мой плагин, используя также проверку телефона.

+0

Почему просто не использовать JQuery Validation плагин над этим? Он встроен и супер прост в использовании, и вы можете выполнить выборочную проверку номера телефона. – TGarrett

+0

Это не даст мне подтверждения для всей страны мира. Это дает мне подтверждение наряду с форматом, включая код ISD. Я просто хочу добавить специальное правило для плагина проверки. – Sankalp

+0

Я сделал пару пользовательских правил раньше для плагина, и я обнаружил, что некоторые из них неудобны при обновлении версий JQuery, просто будьте осторожны, если вы пишете и расширяете или используете чье-то расширение, после обновления плагина JQuery Validator вы можете есть выпуск ... – TGarrett

ответ

2

Используйте addMethod функцию библиотеки:

$.validator.addMethod('isValidNumber',function (value,element){ 
    return this.optional(element) || $(element).intlTelInput('isValidNumber'); 
},'Please specify a valid phone number'); 

Тогда ваши правила будут выглядеть следующим образом:

rules: { 
    required:true, 
    isValidNumber:true 
} 
+0

Grt !! Оно работает. – Sankalp

Смежные вопросы