2012-06-25 2 views
2

Я пытаюсь использовать плагин Validator JQuery для проверки приложения rails, но он не бросает никаких ошибок и не проверяет что-либо. Я не знаю, что еще не так с моим кодом - любая помощь будет оценена!Проверка JQuery не подтверждается

$(document).ready(function() { 
$(".theform").validate({ 
    rules: { 
     name: { 
      required:true, 
      minlength:2, 
      maxlength:50 
     }, 
     email: { 
      required: true, 
      email: true, 
      minlength:2, 
      maxlength:50 
     }, 
     phone_number: { 
      required: true, 
      phoneUS: true, 
      minlength:9, 
      maxlength:20 
     } 
    }, 
    messages: { 
     name: { 
      required: "Please provide your name", 
      minlength: "Too few characters!", 
      maxlength: "Too many characters!" 
     }, 
     email: { 
      required: "Please provide your email", 
      email: "Your email address must be in the format of [email protected]", 
      minlength: "Too few characters!", 
      maxlength: "Too many characters!" 
     }, 
     phone_number: { 
      required: "Please provide your phone number", 
      phoneUS: "Please provide a valid US phone number", 
      minlength: "Too few characters!", 
      maxlength: "Too many characters!" 
     } 
    } 
}); 
$("input#ajax").click(function() { 
    $.ajax({ 
     type: "POST", 
     url: "/create_user", 
     data: {name: $('#name').val(), email: $('#email').val(), number: $('#phone_number').val(), ajax:"true"}, 
     success: function(msg){ 
      //console.log(msg.name); 
      $("div#n").html(msg.name); 
      $("div#e").html(msg.email); 
      $("div#p").html(msg.phone_number); 
     } 
    }); 
}); 
}); 

EDIT: вот форма я пытаюсь проверить:

<div id="theform"> 
<form name="form" action="create" method="post"> 

    Name: <input type="text" name="name" id="name"/><br/> 
    Email: <input type="text" name="email" id="email"/><br/> 
    Phone Number: <input type="text" name="phone_number" id="phone_number" /><br/> 
    <input type="submit" value="Normal Submit" id="normal"> 
    <input type="button" value="Ajax Submit" id="ajax"> 

</form> 
</div> 
+1

Можете ли вы показать сгенерированный HTML? –

+0

Я просто сделал! Проверьте изменения выше :) – tkrishnan

ответ

1

Ваш селектор является неправильным:

$(".theform").validate({ ... }); 

выбирает все элементы с классом theform, что ни один из ваших элементов иметь. Вам нужно выбрать сам form элемент:

$("#theform > form").validate({ ... }); 

или

$("form[name='form']").validate({ ... }); 

Пример:http://jsfiddle.net/nQq6t/

+0

спасибо! это сработало !! – tkrishnan

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