2017-02-18 5 views
0

Я использую jQuery Validate, и когда я отправляю форму, она отображает только одно обязательное поле, и оно показывает другие только тогда, когда я нажимаю на них и на следующем.Странное поведение jQuery Validate

Это сценарий, и тело:

jQuery(function() { 
     $("#form1").validate({ 
      rules: { 
       Yritys: { 
        required: true, 
        minlength: 3 
       }, 
       Henkilönimi: { 
        required: true, 
        minlength: 3 
       }, 
       Asema_yrityksessa: { 
        required: true, 
        minlength: 3 
       }, 
       Puhelin_Nr: { 
        required: true, 
        minlength: 3 
       }, 
       e_Mail: { 
        required: true, 
        minlength: 3 
       }, 
       Keskustelun_aihe: { 
        required: true, 
        minlength: 10 
       }, 
       messages: { 
        Yritys: { 
         required: "You must enter something", 
         minlength: "You must enter more than 3 characters" 
        }, 
        Henkilönimi: { 
         required: "You must enter something", 
         minlength: "You must enter more than 3 characters" 
        }, 
        Asema_yrityksessa: { 
         required: "You must enter something", 
         minlength: "You must enter more than 3 characters" 
        }, 
        Puhelin_Nr: { 
         required: "You must enter something", 
         minlength: "You must enter more than 3 characters" 
        }, 
        e_Mail: { 
         required: "You must enter something", 
         minlength: "You must enter more than 3 characters" 
        }, 
        Keskustelun_aihe: { 
         required: "You must enter something", 
         minlength: "You must enter more than 10 characters" 
        } 
       } 
      }, 

     }); 

    }); 


<div class="divInfo"> 
     <form id="form1"> 
      <span>Yritys:</span><br /> 
      <input id="Yritys" type="text" required /><br /> 
      <span>Henkilönimi:</span><br /> 
      <input id="Henkilönimi" type="text" required /><br /> 
      <span>Asema yrityksessa:</span><br /> 
      <input id="Asema_yrityksessa" type="text" required /><br /> 
      <span>Puhelin Nr:</span><br /> 
      <input id="Puhelin_Nr" type="text" required /><br /> 
      <span>e-Mail:</span><br /> 
      <input id="e_Mail" type="text" required /><br /> 
      <span>Keskustelun aihe:</span><br /> 
      <textarea id="Keskustelun_aihe" maxlength="140" style="width:300px;height:150px;" required>Enter Text Here...</textarea><br /> 
      <span style="color:red; margin-left:0;">Keskustelun aihe max 140 merkkia</span> 
      <div id="textarea_feedback" style="opacity:0.5"></div> 
      <div class="butt"><pre style="font-size:x-large">Vahvista varaus klikkamalla tässä>>>>>>>>>>>>><button id="submit" type="submit" name="appointment" value="" class="btn-warning" /></pre></div> 

     </form> 
    </div> 

Почему это происходит? Он работает, но он работает неправильно. Я не могу найти решение.

EDIT:

ЭТО ПРОИСХОДИТ:

enter image description here

+0

* "WTF происходит" * ~ Пожалуйста, не используйте ненормативную лексику, аббревиатуры, текст-Говори, или что-нибудь, но правильной английской грамматики на SO. Ред. Спасибо. – Sparky

+0

Извините, я догнал момент – MicroDev

ответ

1

Почему это происходит? Это работает, но это не работает должным образом ...

Вы MUST иметь атрибут на каждом входе считается для проверки name и name это единственное, что можно ссылаться из rules объекта .validate().

$("#form1").validate({ 
    rules: { 
     Yritys: {  // <- this must be the NAME 
      required: true, 
      minlength: 3 
     }, 
     Henkilönimi: { // <- this must be the NAME 
      .... 

... Я не могу найти решение

Official Documentation: Markup recommendations -

Мандатные: Атрибут 'имя' является обязательным для всех входных элементов, требующих проверки , и плагин не будет работать без этого.


Вы также случайно поставить messages объект внутри rules, которые должны быть братьями и сестрами.

$("#form1").validate({ 
    rules: { 
     .... 
    }, 
    messages: { 
     .... 
    } 
}); 

DEMO: jsfiddle.net/2o9Lxkej

+0

Я изменил идентификатор на имя, все еще не работает:/ – MicroDev

+0

@MicroDev, вы также случайно помещаете 'сообщения' внутри' rules'. Исправьте это, и он работает: http://jsfiddle.net/2o9Lxkej/ – Sparky

+0

Я думаю, это должно сработать, но это не в моей визуальной студии, я даже скопировал код из скрипки, и он все еще не работает. плохо продолжайте без проверки, но ваш ответ правильный – MicroDev

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