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.alert 弹出式复选框实现代码
Jun 15 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
Javascript实现动态菜单添加的实例代码
Jul 05 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 Javascript
JS定时器实例详细分析
Oct 11 Javascript
JQuery调用WebServices的方法和4个实例
May 06 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
EasyUI加载完Html内容样式渲染完成后显示
Jul 25 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
js指定步长实现单方向匀速运动
Jul 17 Javascript
JS sort排序详细使用方法示例解析
Sep 27 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 object转数组示例
2014/01/15 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
javascript取消文本选定的实现代码
2010/11/14 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
python书籍信息爬虫实例
2018/03/19 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python基础梳理(一)(推荐)
2019/04/06 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
Python3 读取Word文件方式
2020/02/13 Python
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
计算机专业学生求职信分享
2013/12/15 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
房产分割协议书范文
2014/11/21 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Go timer如何调度
2021/06/09 Golang
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android