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提交功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • jQuery Validator验证Ajax提交表单的方法和Ajax传参的方法

    serialize() 方法通过序列化表单值,创建 URL 编码文本字符串.代替了一个一个传参的方式 以往写的ajax传参方式 $.ajax({ url : "${ctx}/SJStandardDamPartition/insertOrUpdateDamPartition", type : "post", dataType : "json", data: {beginsectionid:function(){ return $('#number

  • formvalidator验证插件中有关ajax验证问题

    jquery formvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJAX提交时,就不能按传统的做法了,比如: 复制代码 代码如下: $ajax.post("...............") $.formValidator.initConfig({formID:"applyForm",onError:function(msg){alert(msg)}}); $("#reason&quo

  • asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法

    此控件是asp.net中的验证控件 RequiredFieldValidator , RangeValidator, RegularExpressionValidator, CompareValidator, CustomValidator,ValidationSummary的错误验证信息呼出的一个扩展控件 主要作用是把未通过验证的信息通过一个突出的层显示给用户. 主要属性: <ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCallou

  • jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法

    query formValidator插件非常好用,但是有一个严重的Bug,在使用ajax验证的时候,如果输入框的内容已经存在,把鼠标放到输入框,不做任何修改再离开,则会提示错误, 这是这个插件犯的一个很愚蠢的错误 复制代码 代码如下: oneIsValid: function(id, index) { var returnObj = new Object(); returnObj.id = id; returnObj.ajax = -1; returnObj.errormsg = ""

  • formValidator3.3的ajaxValidator一些异常分析

    ajaxvalidator是大家问的最多的问题,修正一个bug(感谢网友"じ龍峸√"),并把大家最关心的问题,再做一次阐述. bug现象:无论校验有没有校验通过,当控件再次得到焦点而再次失去焦点的时候tip里的提示就会停滞在得到焦点的提示 历次升级的相关记录: a.为AjaxValidator添加一个addidvalue属性(是否自动添加id和值到url参数后面) 为了修复AjaxValidator在配置信息的时候,取不到运行时候值的bug,插件将自动在url后面自动添加,形式为&qu

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

    效果图: 如图,这是使用Validator插件,所完成的功能,效果很强大,也很方便,这边推荐使用这种方式,最后介绍一下原始js验证写法. 首先,导入插件: <link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen"

  • angular实现表单验证及提交功能

    本例通过Angular框架来实现简单的表单验证 一.html结构 1.借助于bootstrap快速的编写了一个简单的表单 代码主要部分如下: <div class="container" style="margin-top: 30px;" ng-controller="myCtrl"> <h1 style="text-align: center">用户表单提交</h1> <form a

  • bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.success').removeClass('success');// 清除前一次操作已选中行的选中状态 $($element).addClass('success');// 选中行添加选中状态 }); 2.bootstrap-table 获取选中行信息 function getSelectedRow

  • jquery validate和jquery form 插件组合实现验证表单后AJAX提交

    要实现表单验证和无刷新提交表单我们可以使用jQuery的两个很好用的插件--jquery validate.js 和 jquery form.js.具体详细说明情况下文. 1.jQuery validate.js,它说白了就是一个很高尚的人为我们写好了各种表单的验证,不用我们这些童鞋去现写了,一天天的多累啊,呵呵. 2.jQuery form.js,"这个插件能够让你简洁的将以HTML形式提交的表单升级成采用AJAX技术提交的表单. 插件里面主要的方法, ajaxForm 和 ajaxSubmi

  • 基于Bootstrap+jQuery.validate实现Form表单验证

    基于Bootstrap jQuery.validate Form表单验证实践项目结构 : github 上源码地址:https://github.com/starzou/front-end-example 1.form 表单代码[html] 复制代码 代码如下: <!DOCTYPE html>  <html>      <head>          <title>Bootstrap Form Template</title>         

  • JavaScript实现表单注册、表单验证、运算符功能

    JavaScript 是世界上最流行的脚本语言. JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话. JavaScript 被设计为向 HTML 页面增加交互性. 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法.几乎每个人都有能力将小的 JavaScript 片段添加到网页中. 特点:轻量级.通用.可插入html设计.易学 JS-注册表单检测雏形 <!DOCTYPE html> <html lang=&qu

  • jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: 复制代码 代码如下: /** 将一个字符串输出到浏览器 */     protected void writeJson(String json) {         PrintWriter pw = null;         try {             servletResponse.setContentType("text/plain;charset=UTF-8");             pw = servletResponse.getWrit

  • 详解javascript表单的Ajax提交插件的使用

    Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进行的功能. //ajaxForm 提交方式 $('#reg').ajaxForm(function () { alert('提交成功!'); }); 使用ajaxForm()方法,会直接实现ajax 提交.自动阻止了默认行为,而它提交的 默认页面是

  • 基于Bootstrap 3 JQuery及RegExp的表单验证功能

    昨天小编在研究regexp,今天小编抽空给大家分享表单验证. 主要功能: 用户名必须在5-25个字符之内,而且只能使用字母.数字或下划线,否则不让通过. 密码必须在5-25个字符之内,而且只能使用字母或数字(大小写敏感),否则不让通过. 根据不同密码程度,下面的low.medium和high会改变背景颜色. 确认密码就不说啦. 验证码只是做了个样子,反正就是设成必须是5个数字. checkbox必须打勾啦,不然不让通过. 点击注册按钮,会有相应的提示框(可关闭)弹出. HTML: <body>

  • 基于Bootstrap表单验证功能

    基于Bootstrap表单验证,供大家参考,具体内容如下 GitHub地址:https://github.com/chentangchun/FormValidate 使用方式: 1.CSS样式 .valierror { border-color: red !important; } .tooltip.right .tooltip-arrow { border-right-color: #d15b47; } .tooltip-inner { background-color: #d15b47; }

随机推荐