[英]jQuery validation - errorPlacement is breaking code
一旦我插入errorPlacement:
函数,它就会破坏代码。 单击提交不会进行任何验证。 有人可以帮忙吗?
如果我删除此功能,则验证工作正常。
进口:
<script type="text/javascript" src="/MyApp/js/jquery.js"></script>
<script type="text/javascript" src="/MyApp/js/jquery.validate.min.js"></script>
脚本:-
$(document).ready(function(){
$("#post-an-ad").validate({
rules:{
articleTitle:{
required: true,
minlength: 5
},
dateRequested:{
required: true,
date: true
},
articleLocation:{
required: true,
minlength: 8
},
'user.agent': "required",
'user.firstName': "required",
'user.emailId':{
required: true,
email: true
},
'user.phone':{
required: true,
minlength: 8,
number: true
}
},
errorPlacement: function(error, element) {
alert("This alert is not popping");
},
submitHandler: function(form){
// doing nothing on a submit.
return false;
}
});
});
我将您的代码放入jsFiddle中,这使我的浏览器崩溃。 您的验证代码很好...但是,将alert()
放在errorPlacement:
函数中不是 !
errorPlacement: function(error, element) {
alert("This alert is not popping"); //--- this is causing infinite loop
},
警报是在错误时触发的,但是当您在警报上单击“确定”时,由于表单仍然无效,因此将立即重新触发它,然后重复该过程……这将陷入无限循环的不间断警报中。 它崩溃了我的Safari,因为如果没有立即弹出下一个警报,我将无法解除警报。 我确定其他浏览器正在以自己的方式处理此循环。
其他一切工作正常。
取消注释违规行,后果自负:
这是errorPlacement:
可以正常工作的解决方案...
errorPlacement: function(error, element) {
error.insertAfter(element); //- this line demonstrates the default behavior
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.