Javascript 即使验证规则失败,表单也会被提交
谢谢你看这个问题 在这里,我尝试验证一个注册表单并使用这个插件Javascript 即使验证规则失败,表单也会被提交,javascript,jquery,html,forms,jquery-validate,Javascript,Jquery,Html,Forms,Jquery Validate,谢谢你看这个问题 在这里,我尝试验证一个注册表单并使用这个插件 $(文档).ready(函数(){ $(“#注册表”).validate({ 规则:{ fName:{ 要求:正确, 接受:“[a-zA-Z]+” }, mName:{ 必填项:false, 接受:“[a-zA-Z]+” }, 名称:{ 要求:正确, 接受:“[a-zA-Z]+” }, 电邮:{ 要求:正确, 电子邮件:真的 }, 杰梅尔:{ 要求:正确, 电子邮件:是的, equalTo:“#电子邮件” }, 密码:{ 要求:
$(文档).ready(函数(){
$(“#注册表”).validate({
规则:{
fName:{
要求:正确,
接受:“[a-zA-Z]+”
},
mName:{
必填项:false,
接受:“[a-zA-Z]+”
},
名称:{
要求:正确,
接受:“[a-zA-Z]+”
},
电邮:{
要求:正确,
电子邮件:真的
},
杰梅尔:{
要求:正确,
电子邮件:是的,
equalTo:“#电子邮件”
},
密码:{
要求:正确,
最小长度:8
},
rPasswd:{
要求:正确,
最小长度:8,
等号:“#passwd”
}
},
信息:{
fName:“请输入有效名称。”,
mName:“请输入有效名称。”,
lName:“请输入有效名称。”,
电子邮件:“请输入有效电子邮件。”,
杰梅尔:{
电子邮件:“请输入有效电子邮件。”,
equalTo:“它与电子邮件不匹配。”
},
密码:{
必填:“请输入您的密码”,
minlength:“minlength必须为8”
},
rPasswd:{
必填:“请输入您的密码”,
minlength:“minlength必须为8”,
equalTo:“与密码字段不匹配。”
}
},
errorPlacement:函数($error,$element){
变量名称=$element.attr(“名称”);
$(“#error”+name).append($error);
},
submitHandler:函数(表单){
警报(“有效表单提交”);
}
});
})
但即使在规则失效的情况下,它也在提交表格
另一方面,下面类似的登录表单正在按预期工作
<form id = 'loginForm' name ='loginForm' method='post' action = "/loginUser">
<table class='bttable'>
<tr>
<td class='btheight btalign fb'><a href="/auth/facebook" class='socialLink'>Sign in with Facebook</a></td>
</tr>
<tr >
<td class='btheight btalign tw'><a href="/auth/twitter">Login with Twitter</a></td>
</tr>
<tr>
<td class='btheight btalign go'><a href="/auth/google">Login with Google</a></td>
</tr>
<tr>
<td class='line'>–––––––––––– OR ––––––––––––</td>
</tr>
<tr >
<td class='btheight btalign tw'>
<input id = "email" name = "email" class ='ep' type='email' placeholder="Your Email" required></input>
</td>
</tr>
<tr >
<td>
<div id='erroremail' class='errorclass'></div>
</td>
</tr>
<tr >
<td class='btheight btalign tw'>
<input id = "passwd" name = "passwd" class ='ep' type = "password" placeholder="Your Password" required></input>
</td>
</tr>
<tr >
<td>
<div id='errorpasswd' class='errorclass'></div>
</td>
</tr>
<tr >
<td >
<br>
<input id = "login" name='login' class ='loginButton' type = "submit" value="Submit"></input>
</td>
</tr>
</table>
</form>
</div>
</div>
<script src="javascripts/jquery/jquery-1.9.1.js"></script>
<script src="javascripts/jquery/jquery.validate.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#loginForm").validate({
rules: {
email: {
required: true,
email: true
},
passwd: {
required: true,
minlength: 8
}
},
messages: {
email: "Please enter a valid email address.",
passwd: {
required: "Please enter your password",
minlength: "Minlength has to be 8"
}
},
errorPlacement: function ($error, $element) {
var name = $element.attr("name");
$("#error" + name).append($error);
},
submitHandler: function (form) {
alert('valid form submit');
}
});
})
</script>
––––––或–或–或–或–或–或
$(文档).ready(函数(){
$(“#loginForm”).validate({
规则:{
电邮:{
要求:正确,
电子邮件:真的
},
密码:{
<form id = 'loginForm' name ='loginForm' method='post' action = "/loginUser">
<table class='bttable'>
<tr>
<td class='btheight btalign fb'><a href="/auth/facebook" class='socialLink'>Sign in with Facebook</a></td>
</tr>
<tr >
<td class='btheight btalign tw'><a href="/auth/twitter">Login with Twitter</a></td>
</tr>
<tr>
<td class='btheight btalign go'><a href="/auth/google">Login with Google</a></td>
</tr>
<tr>
<td class='line'>–––––––––––– OR ––––––––––––</td>
</tr>
<tr >
<td class='btheight btalign tw'>
<input id = "email" name = "email" class ='ep' type='email' placeholder="Your Email" required></input>
</td>
</tr>
<tr >
<td>
<div id='erroremail' class='errorclass'></div>
</td>
</tr>
<tr >
<td class='btheight btalign tw'>
<input id = "passwd" name = "passwd" class ='ep' type = "password" placeholder="Your Password" required></input>
</td>
</tr>
<tr >
<td>
<div id='errorpasswd' class='errorclass'></div>
</td>
</tr>
<tr >
<td >
<br>
<input id = "login" name='login' class ='loginButton' type = "submit" value="Submit"></input>
</td>
</tr>
</table>
</form>
</div>
</div>
<script src="javascripts/jquery/jquery-1.9.1.js"></script>
<script src="javascripts/jquery/jquery.validate.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#loginForm").validate({
rules: {
email: {
required: true,
email: true
},
passwd: {
required: true,
minlength: 8
}
},
messages: {
email: "Please enter a valid email address.",
passwd: {
required: "Please enter your password",
minlength: "Minlength has to be 8"
}
},
errorPlacement: function ($error, $element) {
var name = $element.attr("name");
$("#error" + name).append($error);
},
submitHandler: function (form) {
alert('valid form submit');
}
});
})
</script>
<input id = "fName" name = "fName" class ='ep' type = "textbox" placeholder="Given Name"></input>
<input id="fName" name="fName" class="ep" type="text" placeholder="Given Name" />
fName: { // <- this is a type="text" input
required: true,
accept: "[a-zA-Z]+" // <- accept is only for type="file" inputs
},
...
fName: {
required: true,
pattern: "[a-zA-Z]+"
},
...
pattern: "^[A-z]+$"