2015-02-09 3 views
0

enter image description hereпроверки Jquery не применяется к полю

У меня есть форма существовавшей ранее, которые я пытаюсь добавить проверку Jquery содержащемуся:

  <p><span class="style9">City </span> 
         <input type="text" name="city" value="" size="20" class="style7"><span class="style9"> 
         State </span> 
         <input type="text" name="state" value="" size="20" class="style7"><span class="style9"> 
         Zip </span> 
         <input type="text" name="zip" value="" size="20" class="style7"><span class="style9"> 
         Zip </span> 
         </p> 

Использование JQuery плагина валидатора, я добавил:

$('form').validate({ 
    rules: { 
     first_name: { 
      minlen: 3, 
      maxlength: 15, 
      required: true 
     }, 
     last_name: { 
      minlength: 3, 
      maxlength: 15, 
      required: true 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     phone1: { 
      required: true, 
      phoneUS: true 
      }, 
     phone2: { 
      required: true, 
      phoneUS: true 
      }, 
      street: { 
      required: true 
      }, 
       city: { 
      required: true 
      }, 
       state: { 
      required: true 
      }, 
       zip: { 
      zipcodeUS: true 
      } 

    }, 
    highlight: function(element) { 
     $(element).closest('.style9').addClass('.style13'); 
     //$(element).addClass('.style13'); 
    }, 
    unhighlight: function(element) { 
     $(element).closest('.style9').removeClass('.style13'); 
     //$(element).removeClass('.style13'); 
    }, 
    errorElement: 'span', 
    errorClass: 'style13', 
    errorPlacement: function(error, element) { 
     if(element.parent('.input-group').length) { 
      error.insertAfter(element.parent()); 
     } else { 
      error.insertAfter(element); 
     } 
    } 
}); 

Как вы можете видеть на скриншоте, первые 2 поля получают проверку, но не последнюю. Что я делаю не так?

+0

Это просто, если вы хотите, чтобы пустое поле было «обязательным», вы должны использовать на нем правило 'required'. – Sparky

ответ

2

Для того, чтобы поле "требуется", когда он остается пустым, вы должны использовать required правило на нем ...

zip: { 
    required: true, // <- prevent it from being left empty 
    zipcodeUS: true 
} 

DEMO: http://jsfiddle.net/rr8u9a46/



Как указано в your other question, вы также ошибочно написали minlength r ule на поле first_name.

$('form').validate({ 
    rules: { 
     first_name: { 
      minlen: 3, // <-- minlength 
      maxlength: 15, 
      required: true 
     }, 
     ..... 

ПРИМЕЧАНИЕ: Для того, чтобы использовать метод zipcodeUS, вы должны включают the additional-methods.js file, который содержит это правило.

+0

Ааа! Я должен был это видеть! Большое спасибо. У тебя это работает. - Билл – user61629

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