如果你使用的前端框架是bootstrap,那么前端验证框架就不必考虑了,bootstrapvalidator是最好的选择,它和bootstrap的结合最完美,不过要注意版本的问题,针对bootstrap2和bootstrap3有不同的版本。
下面是我遇到的两个注意事项,自己做个笔记:
1、为每个要验证的表单元素添加name属性
例如:
- <div class="form-group">
- <input type="text" placeholder="请输入短信验证码" id="smsCaptcha"
- name="smsCaptcha" class="form-control"
- data-bv-notempty data-bv-notempty-message="验证码不能为空"
- data-bv-regexp="true" data-bv-regexp-regexp="[0-9]{6}"
- data-bv-regexp-message="验证码格式不正确"
- >
- </div>
- <div class="form-group">
- <input type="email" class="form-control" id="exampleInputEmail1"
- placeholder="Enter email"
- data-bv-notempty data-bv-notempty-message="验证码不能为空"
- >
- </div>
上面这个例子中,第一个表单元素添加了name属性,第二个表单元素没有name属性,而这两个表单元素都使用了非空验证,最终效果如下:
从结果可以看出,如果要验证一个表单项,则该表单项必须有name属性。否则验证将不起作用。
2、为保持良好的效果,表单元素最好放在div.form-group里面
例如下面这个例子:
- <label for="exampleInputEmail1">用户名</label>
- <div class="input-group" >
- <input type="text" class="form-control required" placeholder="用户名"
- id="username" name="username" data-bv-notempty
- data-bv-notempty-message="请输入用户名" />
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-user"></span>
- </span>
- </div>
用户名输入框及其label直接放在了form元素下面,则最终产生的效果如下:
当输入错误时的提示信息位置在整个form表单的下面,样式发生了极大的变化,虽然能达到验证的效果,但是样式却难以令人接受,解决办法就是将需要验证的表单元素放在div.form-group下面:
- <div class="form-group">
- <label for="exampleInputEmail1">用户名</label>
- <div class="input-group" >
- <input type="text" class="form-control required"
- placeholder="用户名" id="username" name="username"
- data-bv-notempty data-bv-notempty-message="请输入用户名" />
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-user"></span>
- </span>
- </div>
- </div>
3、防止表单重复提交问题
在未引入bootstrapvalidator之前,自己写过一段js代码来防止表单提交,当用户点击提交按钮时候,将提交按钮置灰,代码如下:
- var form = $('form');
- var formType = form.attr('class');
- if(formType != null){
- //用get和post标识表单类型
- //get用于标识搜索类型的表单
- //post用于标识添加,更新类型的表单
- var get = formType.indexOf('get');
- var post = formType.indexOf('post');
- form.submit(function(){
- if(get != -1){
- return ;
- }
- if(post != -1){
- if(!submited){
- submited = true;
- $("button[type=submit]").prop('disabled',true);
- }else{
- return false;
- }
- }
- });
- }
但是引入bootstrapvalidator后却和这段代码冲突,具体表现为,如果验证出错,例如,某个input必填项没有填写时就提交了表单,此时bootstrapvalidator会提示你这个input为必填的,此时提交按钮为disable状态,直到你填入数据后,按钮才为正常可提交状态,问题就在这,即使你填入了正常的数据,按钮也为正常状态,可是表单却无法提交。排查了大半天,问题就在于上段js代码。
其实bootstrapvalidator已经对重复提交做了设计,如果一个表单需要经过bootstrapvalidator验证,点击提交按钮的时候,提交按钮会置灰,直到服务器返回响应。那么,如果一个表单不需要验证呢,比如一个搜索表单,此时可以给表单一个class,如validation-form,在js主函数里面调用$("form.validation-form").bootstrapValidator();将验证器置空即可。
转自:http://blog.csdn.net/coolcaosj/article/details/38085191
相关推荐
在本文中,我们将探讨如何使用Bootstrap来创建一个带有验证码和验证功能的登录表单。 首先,要创建这样一个表单,我们需要引入Bootstrap的相关CSS和JavaScript文件。在提供的代码片段中,可以看到引用了以下文件: ...
在Bootstrap中,表单是数据输入的重要组成部分,而表单验证则是确保用户输入的有效性和安全性的关键功能。在本文中,我们将深入探讨基于Bootstrap的表单验证功能,并提供具体实现方法。 首先,表单验证通常包括对...
BootstrapValidator是一款强大的表单验证插件,它基于前端框架Bootstrap设计,可以轻松地为你的HTML表单添加验证功能。这个插件提供了丰富的验证规则和灵活的配置选项,以确保用户输入的数据符合预设条件,从而增强...
5. **重置表单校验**: 如果需要清除所有字段的验证状态,可以调用`resetForm`方法。这将重置所有字段的验证结果,例如在`重置表单校验`按钮的事件处理中: ```javascript $('#btn5').click(function() { $('#input...
表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验。网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的...
对于刚开始使用bootstrap前台框架的朋友来说,表单验证或许是必不可少的。本案例中有常见的格式校验公大家参考,好不容易找到了,给需要的朋友分享一下,不需要积分,有个csdn账号即可,免去积分下载的困扰
综上所述,BootstrapValidator提供了强大的表单校验功能,能够帮助开发者快速实现复杂的表单校验需求,并通过简洁的API提供了校验清除和重置的功能,使得表单的操作更加灵活,提升了用户的操作体验。
在使用BootstrapValidator进行表单校验时,通常需要遵循以下几个步骤: 1. **引入依赖**: 首先,你需要在HTML文件中引入BootstrapValidator的相关CSS和JS文件。如描述中所示,需要引入`bootstrapValidator.css`...
这个"Bootstrap校验实例"很可能包含了如何在Bootstrap框架内实现表单验证的示例代码和指南。 Bootstrap框架的核心特性之一就是其内置的表单组件和样式,这些组件能够帮助开发者快速创建美观且功能齐全的表单。表单...
BootstrapValidator是基于Bootstrap框架的一个强大的表单验证插件,版本0.5.3提供了丰富的功能和自定义选项,使得在Web应用中实现高效且美观的表单验证变得简单易行。这个压缩包包含了该插件的js文件和css样式文件,...
BootstrapValidator是一款基于Bootstrap框架的前端数据验证插件,它提供了丰富的验证规则和便捷的验证机制,使得在网页表单设计中能轻松实现高效且美观的数据校验。在本压缩包`bootstrapvalidator-master`中,包含了...
5. **可扩展性**:jQuery FormValidator允许与其他jQuery插件(如Bootstrap、jQuery UI等)无缝集成,增强了插件的适用范围。 6. **丰富的验证规则**:包括但不限于数字、字母、长度、URL、日期、时间等,覆盖了...
BootstrapValidator是一款基于Bootstrap框架的前端表单验证插件,它为开发者提供了强大且灵活的工具,使得在网页设计中创建符合验证规则的表单变得极其简单。BootstrapValidator提供了丰富的预定义验证规则,以及...
最近使用bootstrap开发项目比较多,在表单校验功能中用popover插件实现出错提示功能很方面,下面小编给大家带来了一篇关于Bootstrap的 popover插件实现校验表单提示功能的实现代码,非常不错,感兴趣的朋友一起看看...
用bootstrap做的登录,注册页面,使用validate进行表单验证,是本人从空白页面搭建的,亲测可用,1积分算是我的辛苦费吧。 我会通过博客注明知识点:http://blog.csdn.net/qq_19558705; 希望能帮到大家。没有积分的...
Bootstrap验证框架是一个基于流行的前端开发框架Bootstrap构建的表单验证工具。它旨在提供美观且功能丰富的用户界面,同时确保用户输入的数据符合预设的验证规则,以提高网站或应用程序的用户体验和数据准确性。 1....
Bootstrap响应式输入框表单验证代码基于Bootstrap3.3.5制作,响应式设计,自适应分辨率,兼容PC端和移动端,有9种输入框表单验证功能:1.文本框只能输入数字代码(小数点也不能输入);2.只能输入数字,能输小数点;3....