怎么让jquery.validate.js 只显示第一个错误信息,将第一个错误信息放在指定标签中?
答案:4 悬赏:30
解决时间 2021-04-23 11:54
- 提问者网友:空白
- 2021-04-22 11:25
最佳答案
- 二级知识专家网友:星星坠落
- 2021-04-22 12:56
这个你在要展示错误信息位置先加个定位符(div id="err")
然后当验证不通过的时候把信息填充进去
$("#err").append(error)这样信息就能在那地方显示了
然后当验证不通过的时候把信息填充进去
$("#err").append(error)这样信息就能在那地方显示了
全部回答
- 1楼网友:糜废丧逼
- 2021-04-22 16:12
1、你这是想要统一显示错误信息呢?
这个是直接在页面上先写好一个div.err元素。errorplacement:callback();将error都添加到里面就好了。
js:
errorplacement:function(error,element) {
error.addpendto("#errmsg");//将错误信息全部放入到一个div内部显示
});
2、还是只显示出现的第一个错误信息呢??【这个应该没有这种做法吧】
3、就算是groups也是对一组元素进行验证装入到一个div内,其他的就放入到其他div内,可以在多看看api文档讲解哦~~
groups:
对一组元素的验证,用一个错误提示,用error
placement控制把出错信息放在哪里
$("#myform").validate({
groups:{
username:"fname
lname"
},
errorplacement:function(error,element) {
if
(element.attr("name") ==
"fname" || element.attr("name") == "lname")
error.insertafter("#lastname");//查找到符合groups封好的属性组,就添加到某个div下方
else
error.insertafter(element);//否则直接插入到当前元素后面
},
debug:true//开启调试不发送表单
})
- 2楼网友:废途浑身病态
- 2021-04-22 15:40
$(".form").validate({
showErrors: function(errorMap, errorList) {
if(errorList.length != 0) {
//这两个参数一打印出来你应该就能看懂了
console.log(errorMap)
console.log(errorList)
var parent = $(errorList[0].element).parents(".inputParents");
if(parent.find("label.error").size() > 0) {
parent.find("label.error").remove();
}
var errorLable = ''
parent.append(errorLable);
}
},
})
- 3楼网友:情战凌云蔡小葵
- 2021-04-22 14:20
条件:错误的容器,我这里是ol
原因 : 我把所有的错误都放在这个ol里
当出现多条错误信息,就会生成多条li标签
问题:那么我只想显示第一个li标签的错误信息,怎么办?
解决思路:保留第个li删除其它li标签即可!
现象:假如我有这里一个元素没符合我的规则时,
validate就会在我指定错误标签(ol)下生成一个li,
如果此元素通过验证规则,生成的的li,不会删除 而是隐藏!
该现象不符合我解决思路!
下面贴代码:
errorLabelContainer:".erro",
wrapper:"li",
showErrors:function(errorMap,errorList) {
this.defaultShowErrors();
$('ol li:hidden').remove()//删除所有隐藏的li标签
$('ol li:eq(0)').nextAll().remove()//第一个li下所有跟随的同胞级li删除
},
就这样的代码可以 实现 永远只显示第一个错误信息!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯