妙用Bootstrap的 popover插件实现校验表单提示功能

网友投稿 447 2023-07-08


妙用Bootstrap的 popover插件实现校验表单提示功能

最近的项目,用Bootstrap比较多。浏览Bootstrap文档,发现 popover 插件特别适合做表单校验出错的提示。

因为使的非常频繁,最近把它封住下,做成 jquery的插件。 通过 本插件,在 html标签中 定义好 data-vaild=”校验正则” data-errmsg=”错误信息即可FJnZngLdoI”。为什么 要把 校验规则 写到 html 标签中呢?因为 我还用它做了 后台 的校验规则(后台没用Node,现在用的ASP,忙完专门再发文写下原理)。

最终实现的效果如下:

插件代码如下:

"use strict";

/*

jQuery+Bootstrap 校验表单 by Miaoqiyuan.cn

原理:http://miaoqiyuan.cn/p/jquery-bootstrap-vaild

演示:http://miaoqiyuan.cn/products/vaild/index.html

源码:http://miaoqiyuan.cn/products/vaild/jQuery.Vaild.js

*/

(function(jQuery){

$.extend({

Vaild : function(_this){

if( !!$(_this).data("vaild") ){

var pattern = new RegExp($(_this).data("vaild"));

if( pattern.test( $(_this).val() ) ){

$(_this).parent().removeClass("has-error").addClass("has-success");

$(_this).popover("destroy");

}else{

$(_this).parent().addClass("has-error").removeClass("has-success");

$(_this).data("toogle", "top").data("placement", "top").data("container", "body").data("content", $(_this).data("errmsg")).popover({"trigger":"manual"}).popover("show");

return false;

}

}else{

$(_this).parent().addClass("has-success");

}

return true;

}

});

$.fn.extend({

Vaild : function(){

$(this).each(function(index, _this){

$(_this).submit(function(){

var checkResult = true;

for(var i = 0 ; i < _this.length; i++ ){

checkResult = $.Vaild(_this[i]) && checkResult;

}

return checkResult;

});

for(var i = 0 ; i < _this.length; i++ ){

$(_this[i]).blur(function(){

$.Vaild(this);

});

}

});

}

});

})(jQuery);

调用的时候非常简单,直接使用以下代码:

当表单失去焦点时,如果不合法,会直接提示错误。点击提交时,如果有表单项目不合法,会阻止表单继续提交。

popoover默认的背景是 白色的,不能起到 警示作用,而且 padding 设置过大,太占用空间了。 最后调整下css,就实现了 截图的效果。

/*重构 popover */

.popover{background:#C00;color:#FFF;}

.popover .popover-content{padding:1px 5px;}

.popover.top>.arrow:after{border-top-color:#C00;}

/*重构 bootstrap 默认错误提示 */

.has-error input,

.has-error textarea,

.has-error select{background-color:#F2DEDE;}

.has-success input,

.has-success textarea,

.has-success select{background-color:#DFF0D8}

以上所述是给大家介绍的Bootstrap的 popover插件实现校验表单提示功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ionic隐藏tabs的方法
下一篇:PHP和Java的主要区别有哪些?哪个最适合Web开发语言?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~