2015-12-15 3 views
0

Я использую атрибут html5 'required' в моей форме. Ниже приведены фрагменты кодаvalidation engine popup не работает на submit with html5 required

$('form').validationEngine('attach', { 
 
    promptPosition: "centerRight", 
 
    scroll: false, 
 
    binded: false, 
 
    onValidationComplete: function(form, status) { 
 
    if (status == true) { 
 

 
    } else { 
 
     // foo; 
 
    } 
 
    } 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-en.js"></script> 
 
<form method="post"> 
 
    <input type="text" id="nameIt1" name="nameIt" placeholder="Product name..." class="text validate[required] nameIt" required="required"> 
 
    <input type="submit" value="Submit" class="button yellow"> 
 
</form>

Здесь html5 родной всплывающее окно проверки появляется вместо всплывающего окна проверки двигателя. Если я удалю атрибут html5 «обязательно», код работает правильно.

Эксперты, пожалуйста, заткните свет на этом.

Заранее спасибо.

Ganesh

ответ

0

На самом деле, если основной целью данного кода для проверки требуемого поля текста код работает отлично, потому что я проверил это уже на моей машине. Требуемый атрибут должен присутствовать, чтобы сделать это поле родным необходимым html5. Это даже не нужно, чтобы установить этот атрибут в любое значение должно быть только так:

<input type="text" id="nameIt1" name="nameIt" placeholder="Product name..." class="text validate[required] nameIt" required > 

И это будет прекрасно работать. Если вы удалите этот атрибут, форма вернет обратно с пустым полем из вашего конкретного кода. Но если вы внесете некоторые изменения в свою javascript-функцию, вы увидите всплывающее окно проверки валидации, и в этом случае требуемый атрибут не требуется. Ниже здесь:

$('form').validationEngine('attach', { 
    promptPosition: "centerRight", 
    scroll: false, 
    binded: false, 
    onValidationComplete: function (form, status) { 
     if (status == true) { 
      form.validationEngine('detach'); 
      form.submit(); 
      alert('it is Ok'); 
     } else { 
      alert('Not OK'); 
     } 
    } 
}); 

Я надеюсь, что это может помочь