有一同事对jquery validate这个插件不熟,实现多处报错信息在一处,并且还有二选一的情况,二个输入框,有一个输入就算通过。groups可以把多处报错放到一处,depends可以解决多选一的情况。下面举个例子,demo
以下是部分代码,全部代码看上面的例子。
$("#myform").validate({
groups: {
username: "fname lname" //username定义的组名,fname lname是输入框的名子,可以看上面的demo
},
errorPlacement: function(error, element) { //错误提示在什么地方
if (element.attr("name") == "fname" || element.attr("name") == "lname" ){
error.insertAfter("#lastname"); //如果是fname和lname呢,就#lastname后面
}else{
error.insertAfter(element);
}
},
rules:{
fname:{
required: {
depends:function(){ //二选一
return ($('input[name=lname]').val().length <= 0);
}
}
},
lname:{
required: {
depends:function(){ //二选一
return ($('input[name=fname]').val().length <= 0);
}
}
}
},
messages:{ //提示报错
fname:"first name or last name at least one",
lname:"first name or last name at least one"
},
debug:true
});
==================上面是js==============================
<body style="margin-left:500px;margin-top:100px;">
<div style="font-size:22px;">test</div><br>
<form id="myform" method="post">
<label>Your Name</label>
<input name="fname" value="" />
<input name="lname" id="lastname" />
<br/>
<input type="submit" value="Submit"/>
</form>
</body>
如果对插件jquery validate这个插件很熟的话,可以看一下jquery.validate.js,方法里面都有。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1483.html
你好,我想请教下面的问题,
addWarnIntervals元素的remote验证会取决于addMaxWarnTimes元素的值,如果第一次验证addWarnIntervals失败,提示错误信息,根据错误信息修改了addMaxWarnTimes的值,使addWarnIntervals的值变得合理了,但是之前addWarnIntervals的验证是不通过的,现在改了addMaxWarnTimes的值并没有触发到addWarnIntervals的验证,因此表单不能提交,我想解决这个问题,应该怎么做呀??