BootstrapValidator,最好用的bootstrap表单验证插件

野性酷女 2021-09-10 15:20 635阅读 0赞

本篇推荐一款twitter做的BootstrapValidator,本身Bootstrap就是twitter做的,那么使用原配的validator也就更值得信赖。从百度上搜BootstrapValidator会出现很多款,但我只推荐这款(突然感觉自己有点“库【Steve 库里】吹”的感觉)。

这里写图片描述

###一、一睹为快
这里写图片描述
为了简便的介绍,这里只做为空的check。

BootstrapValidator官方下载地址

###二、资源引用

下载完资源包后,你可以看到如下的目录。
这里写图片描述

然后把以下三个文件引入到你项目。

  1. <link type="text/css" rel="stylesheet" href="${ctx}/components/validate/css/bootstrapValidator.css" />
  2. <script type="text/javascript" src="${ctx}/components/validate/js/bootstrapValidator.js"></script>
  3. <script type="text/javascript" src="${ctx}/components/validate/js/language/zh_CN.js"></script>

###三、会员名称不为空项目配置

  1. <form class="form-signin required-validate" action="${ctx}/login" method="post" οnsubmit="return validateCallback(this)">
  2. <div class="form-group">
  3. <div class="row">
  4. <label>账户</label>
  5. <input class="form-control" type="text" autofocus name="username" placeholder="请输入会员编号" autocomplete="off"
  6. data-bv-notempty />
  7. </div>
  8. </div>
  9. </form>
  1. data-bv-notempty表示该会员编号要做为空check。
  2. form-group的div是必须的,否则会报“too much recursion”错误。
  3. form表单提交的时候会执行validateCallback方法,该方法在第五步中具体介绍。

###四、页面加载完成后启用bootstrap validator

  1. $(function() {
  2. // validate form
  3. $("form.required-validate").each(function() {
  4. var $form = $(this);
  5. $form.bootstrapValidator();
  6. // 修复bootstrap validator重复向服务端提交bug
  7. $form.on('success.form.bv', function(e) {
  8. // Prevent form submission
  9. e.preventDefault();
  10. });
  11. });
  12. });
  1. 在form表单上加上‘class=“required-validate”’属性,然后通过jquery获取对应form表单,对其执行默认的bootstrapValidator加载。
  2. 一定要注意上面代码中注释部分代码,具体介绍可参照修复BootstrapValidator重复提交的bug。

###五、form表单提交时验证项目

  1. function validateCallback(form, callback, confirmMsg) {
  2. YUNM.debug("进入到form表单验证和提交");
  3. var $form = $(form);
  4. var data = $form.data('bootstrapValidator');
  5. if (data) {
  6. // 修复记忆的组件不验证
  7. data.validate();
  8. if (!data.isValid()) {
  9. return false;
  10. }
  11. }
  12. $.ajax({
  13. type : form.method || 'POST',
  14. url : $form.attr("action"),
  15. data : $form.serializeArray(),
  16. dataType : "json",
  17. cache : false,
  18. success : callback || YUNM.ajaxDone,
  19. error : YUNM.ajaxError
  20. });
  21. return false;
  22. }
  1. validateCallback中获取form表单后,通过isValid方法可以返回表单验证是否通过。
  2. 当表单验证通过后,再通过ajax将表单提交到服务端。

20190430093935456.jpg

发表评论

表情:
评论列表 (有 0 条评论,635人围观)

还没有评论,来说两句吧...

相关阅读