2013-07-18 4 views
1

Привет У меня есть страница с двумя текстовыми полями, и я хотел применить требуемый валидатор для обоих элементов управления. Но когда я запускаю свой код, он применяется только к первому элементу управления. Несмотря на то, что оба текстовых поля были пустыми, он при необходимости отображает первое текстовое поле.Проверка подлинности Kendo не работает

Вот мой код и не получаю, где я пропустил второй.

<input type="text" name="firstname" id="firstname" required validationmessage="First name required" /> 
<input type="text" name="lastname" id="lastname" required validationmessage="Last name required" /> 

<button class="k-button" id="btnAdd" onclick="addDetails();">Add</button> 

function addDetails() { 

     var validator = $("#btnAdd").kendoValidator().data("kendoValidator"); 

     if (validator.validate()) { 

      // Add details to db 
     } 
    } 
+0

[тег: JQuery-Validate] тег для конкретного плагина. Будьте осторожны при пометке вопросов. Исправлена. Благодарю. – Sparky

ответ

5

Кендо валидатор должен быть применен к input, что вы проверяющим не к button. HTML должно быть что-то вроде:

<div id="my-form"> 
    <div> 
     <label> 
      Firstname: 
      <input type="text" name="firstname" id="firstname" required validationmessage="First name required"/> 
     </label> 
    </div> 
    <div> 
     <label> 
      Lastname : 
      <input type="text" name="lastname" id="lastname" required validationmessage="Last name required"/> 
     </label> 
    </div> 
</div> 
<button class="k-button" id="btnAdd">Add</button> 

и функция проверки:

$(document).ready(function() { 
    var validator = $("#my-form").kendoValidator().data("kendoValidator"); 
    $("#btnAdd").on("click", function() { 
     if (validator.validate()) { 
      // Add details to db 
      console.log("good"); 
     } else { 
      console.log("bad"); 
     } 
    }); 
}); 
Смежные вопросы