formValidator BUG
2016-02-17 00:00
162 查看
我们在做表单验证的时候,很可能我们不希望一开始tips就自己出来“请输入手机号”,而换做placeholder直接在文本框提示输入信息,只有再出错的时候显示在右侧。这个时候我们要设置
$("#mobile").formValidator({tipid:"ps_mobile",onshow:"",oncorrect:"",onfocus:""})
主要就是onshow设置为空,这个时候我们刷新页面后会发现即使出错也没有显示出错消息,用firebug一看才发现原来是错误照样display:none了。想了很多办法都没解决,于是只有改formValidator源码了。
解压缩formValidator后发现会调用setTipState来改变tips的状态,红色的文字是自己添加的,目的就是让出错信息显示。
setTipState: function(elem, showclass, showmsg) {
var setting0 = elem.settings[0];
var initConfig = $.formValidator.getInitConfig(setting0.validatorgroup);
var tip = $("#" + setting0.tipid);
if (showmsg == null || showmsg == "") {
tip.hide()
} else {
if (initConfig.tidymode) {
$("#fv_content").html(showmsg);
elem.Tooltip = showmsg;
if (showclass != "onError") {
tip.hide()
}
}
tip.removeClass();
tip.addClass(showclass);
tip.html(showmsg);
//modify by xiangli 20140727
if (showclass == "onError") {
tip.show()
}
//modify by xiangli 20140727end
}
},
$("#mobile").formValidator({tipid:"ps_mobile",onshow:"",oncorrect:"",onfocus:""})
主要就是onshow设置为空,这个时候我们刷新页面后会发现即使出错也没有显示出错消息,用firebug一看才发现原来是错误照样display:none了。想了很多办法都没解决,于是只有改formValidator源码了。
解压缩formValidator后发现会调用setTipState来改变tips的状态,红色的文字是自己添加的,目的就是让出错信息显示。
setTipState: function(elem, showclass, showmsg) {
var setting0 = elem.settings[0];
var initConfig = $.formValidator.getInitConfig(setting0.validatorgroup);
var tip = $("#" + setting0.tipid);
if (showmsg == null || showmsg == "") {
tip.hide()
} else {
if (initConfig.tidymode) {
$("#fv_content").html(showmsg);
elem.Tooltip = showmsg;
if (showclass != "onError") {
tip.hide()
}
}
tip.removeClass();
tip.addClass(showclass);
tip.html(showmsg);
//modify by xiangli 20140727
if (showclass == "onError") {
tip.show()
}
//modify by xiangli 20140727end
}
},