JQuery验证未验证 [英] JQuery Validation is not validating
本文介绍了JQuery验证未验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用JQuery验证器插件来验证rails应用程序,但它既没有抛出任何错误也没有验证任何内容。我不知道我的代码还有什么问题 - 任何帮助都将不胜感激!
I'm trying to use the JQuery validator plugin to validate a rails app but it's neither throwing any errors or validating anything. I don't know what else is wrong with my code--any help would be appreciated!
$(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 name@domain.com",
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);
}
});
});
});
编辑:这是我要验证的表格:
here's the form I'm trying to validate:
<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>
推荐答案
你的选择器错了:
$(".theform").validate({ ... });
选择类 theform
的所有元素,其中没有你的元素。您需要选择表单
元素本身:
selects all elements with class theform
, which none of your elements have. You need to select the form
element itself:
$("#theform > form").validate({ ... });
或
$("form[name='form']").validate({ ... });
示例: http://jsfiddle.net/nQq6t/
这篇关于JQuery验证未验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文