bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能


Posted in Javascript onFebruary 17, 2017

效果图:

bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能

如图,这是使用Validator插件,所完成的功能,效果很强大,也很方便,这边推荐使用这种方式,最后介绍一下原始js验证写法。

首先,导入插件:

<link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen">
<script src="<%=basePath %>bootstrap/js/bootstrapValidator.min.js"></script> 
<script src="<%=basePath %>bootstrap/js/bootstrapValidator.zh_CN.js"></script> 
bootstrapvalidator源码:https://github.com/nghuuphuoc/bootstrapvalidator
boostrapvalidator api:http://bv.doc.javake.cn/api/

jsp:

<div class="modal fade" id="myModal_add" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
  <div class="modal-dialog" role="document"> 
   <div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 
     <h4 class="modal-title" id="myModalLabel_add">新增</h4> 
    </div> 
    <div class="modal-body" style="height:680px;"> 
      <form id="defaultForm" class="form-horizontal"> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="company_name">公司名称</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="company_name" type="text" placeholder="请输入公司名称" name="company_name"/> 
        </div> 
        <label class="col-sm-2 control-label" for="company_id">公司id</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="company_id" type="text" placeholder="请输入公司id" name="company_id"/> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="computer_room">机房</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="computer_room" type="text" placeholder="请输入机房"/> 
        </div> 
        <label class="col-sm-2 control-label" for="cabinet">机柜</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="cabinet" type="text" placeholder="请输入机柜"/> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="equipment_type">设备类型</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_type" type="text" placeholder="请输入设备类型"/> 
        </div> 
        <label class="col-sm-2 control-label" for="equipment_name">设备名称</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_name" type="text" placeholder="请输入设备名称"/> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="equipment_ip">设备ip</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_ip" type="text" placeholder="请输入设备ip" name="equipment_ip" /> 
        </div> 
        <label class="col-sm-2 control-label" for="equipment_brand">设备品牌</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_brand" type="text" placeholder="请输入设备品牌"/> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="equipment_model">设备型号</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_model" type="text" placeholder="请输入设备型号"/> 
        </div> 
        <label class="col-sm-2 control-label" for="shelf_position">上架位置</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="shelf_position" type="text" placeholder="请输入上架位置"/> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-sm-2 control-label" for="equipment_sn">设备SN号</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_sn" type="text" placeholder="请输入设备SN号"/> 
        </div> 
        <label class="col-sm-2 control-label" for="equipment_pn">设备PN号</label> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_pn" type="text" placeholder="请输入设备PN号"/> 
        </div> 
       </div> 
      </form> 
      </div> 
     <div class="modol-footer" id="button_sub"> 
      <button type="reset" id="btn_reset" class="btn btn-default"><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>重置</button> 
      <button type="button" id="" name="submit" class="btn btn-primary submit_review"><span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></span>提交审核</button> 
     </div> 
   </div> 
  </div> 
 </div>

我这边没有使用表单提交验证,而已点击button按钮,Ajax提交,注意一下。

js:

$(function(){/* 文档加载,执行一个函数*/ 
// $(".submit_review").attr({"disabled":"disabled"}); 
 $('#defaultForm').bootstrapValidator({ 
    message: 'This value is not valid', 
    feedbackIcons: {/*输入框不同状态,显示图片的样式*/ 
     valid: 'glyphicon glyphicon-ok', 
     invalid: 'glyphicon glyphicon-remove', 
     validating: 'glyphicon glyphicon-refresh' 
    }, 
    fields: {/*验证*/ 
     company_name: {/*键名username和input name值对应*/ 
      validators: { 
       notEmpty: {/*非空提示*/ 
        message: '公司名称不能为空' 
       }, 
//       stringLength: {/*长度提示*/ 
//        min: 6, 
//        max: 30, 
//        message: '用户名在6到30之间' 
//       }/*最后一个没有逗号*/ 
      } 
     }, 
     company_id: { 
      validators: { 
       notEmpty: { 
        message: '公司ID不能为空' 
       }, 
      } 
     }, 
     equipment_ip: { 
      validators: { 
       notEmpty: { 
        message: '设备IP不能为空' 
       }, 
       regexp: { 
        regexp: /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/, 
        message: '设备IP不合法' 
         } 
      } 
     }, 
    } 
  }) 
 });
$("#btn_reset").click(function(event) { 
  /* Act on the event */ 
  $('#defaultForm').data('bootstrapValidator').resetForm(true); 
 }); 
 $("body").on('click', '#btn_submit_add', function(event) { 
  /* Act on the event */ 
  $('#defaultForm').bootstrapValidator('validate'); 
  var flag = $("#defaultForm").data('bootstrapValidator').isValid(); 
  if (!flag) { 
   toastr.error("填写有误,请重新填写!"); 
  } else { 
   $.post('addEquipmentInfoCheck.action', { 
    "equipmentInfoCheck.companyId": $("#company_id").val(), 
    "equipmentInfoCheck.companyName": $("#company_name").val(), 
    "equipmentInfoCheck.machineRoom": $("#computer_room").val(), 
    "equipmentInfoCheck.equipmentCabinet": $("#cabinet").val(), 
    "equipmentInfoCheck.deviceType": $("#equipment_type").val(), 
    "equipmentInfoCheck.deviceName": $("#equipment_name").val(), 
    "equipmentInfoCheck.deviceIp": $("#equipment_ip").val(), 
    "equipmentInfoCheck.deviceBrand": $("#equipment_brand").val(), 
    "equipmentInfoCheck.deviceModel": $("#equipment_model").val(), 
    "equipmentInfoCheck.position": $("#shelf_position").val(), 
    "equipmentInfoCheck.deviceSn": $("#equipment_sn").val(), 
    "equipmentInfoCheck.devicePn": $("#equipment_pn").val(), 
    "equipmentInfoCheck.state":1 
   }, function(data, textStatus, xhr) { 
    /*optional stuff to do after success */ 
    if (textStatus == "success") { 
     // e.preventDefault(); 
     $('#defaultForm').data('bootstrapValidator').resetForm(true); 
     $("#myModal_add").modal('hide'); 
     toastr.success("提交成功"); 
    }else{ 
     $("#myModal_add").modal('hide'); 
     toastr.error("提交失败"); 
    } 
   }); 
  } 
 });

OK,至此模态框验证,提交就完成了~

下面附上原始js校验:

$("#equipment_ip").blur(function(){ 
 var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ ;  
 var flag=reg.test($(this).val()); 
 if(!flag){ 
 toastr.error("IP不合法,请重新输入"); 
 $(this).val(""); 
 } 
);

以上所述是小编给大家介绍的bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery动态添加删除一行数据示例
Jun 12 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
无刷新上传文件并返回自定义值
Jun 11 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
Mar 16 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
详解.vue文件解析的实现
Jun 11 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 #Javascript
jQuery实现弹幕效果
Feb 17 #Javascript
Ajax基础知识详解
Feb 17 #Javascript
bootstrap中模态框、模态框的属性实例详解
Feb 17 #Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
Feb 17 #Javascript
原生js实现日期计算器功能
Feb 17 #Javascript
Vue自定义指令拖拽功能示例
Feb 17 #Javascript
You might like
PHP操作xml代码
2010/06/17 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python 基础知识之字符串处理
2017/01/06 Python
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
红旗方阵解说词
2014/02/12 职场文书
中学生英语演讲稿
2014/04/26 职场文书
军训拉歌口号
2014/06/13 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
七年级作文之下雨天
2019/12/23 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis