使用bootstrap-Validator校验表单

简介: 前端UI框架选择bootstrap,那么bootstrap-Validator作为表单校验是一个不错的选择。以下内容前提是UI框架采用bootstrap。

前端UI框架选择bootstrap,那么bootstrap-Validator作为表单校验是一个不错的选择。
以下内容前提是UI框架采用bootstrap。

引入依赖

第一个:校验控件
第二行:语言包,默认是英语
第三行:扩展包,用来自定义

   <script src="/plugins/bootstrapvalidator/js/bootstrapValidator.js"></script>
    <script src="/plugins/bootstrapvalidator/js/language/zh_CN.js"></script>

    <script src="/plugins/bootstrapvalidator/js/bootstrapValidator.extends.js"></script>

编写form表单

data-bv-{校验规则},规则可以自定义,参考bootstrapValidator.extends.js。
注意提交按钮是submit类型。

<form class="form-horizontal" id="form" action="xxx">
        <div class="form-group">
            <label for="workTypName" class="col-sm-2 control-label" >*名称:</label>
            <div class="col-sm-4" >
                <input type="" name="workTypName" class="form-control" id="workTypName" placeholder=""
                       data-bv-notEmpty="true"
                       data-bv-username="true"
                       data-bv-stringlength="true"
                       data-bv-stringlength-min="6"
                       data-bv-stringlength-max="30">
            </div>
        </div>
        <div class="form-group">
            <label for="category" class="col-sm-2 control-label">*爱好:</label>
            <div class="col-sm-4">
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox1" value="option1"> 篮球
                </label>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox2" value="option2"> 足球
                </label>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox3" value="option3"> 乒乓球
                </label>
            </div>
            <label for="category" class="col-sm-2 control-label">*性别:</label>
            <div class="col-sm-4">
                <label class="radio-inline">
                    <input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 男
                </label>
                <label class="radio-inline">
                    <input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 女
                </label>
            </div>
        </div><div class="form-group">
            <label for="category" class="col-sm-2 control-label">*下拉框:</label>
            <div class="col-sm-8">
                <select class="form-control" id="category" name="category">
                </select>
            </div>
        </div>
        <div class="form-group">
            <label for="sortNo" class="col-sm-2 control-label">*排序:</label>
            <div class="col-sm-8" >
                <div class="input-group">
                    <select class="form-control" id="sortNo" name="sortNo">
                    </select>
                    <span class="input-group-addon" id="basic-addon2">之后</span>
                </div>
            </div>
        </div>
        <div class="form-group">
            <label for="inputGroup" class="col-sm-2 control-label">*输入框组:</label>
            <div class="col-sm-8" >
                <div class="input-group">
                    <input type="" name="inputGroup" class="form-control" id="inputGroup" placeholder="" required>
                    <span class="input-group-addon" id="xxx">单位(元)</span>
                </div>
            </div>
        </div>
        <div class="form-group">
            <label for="memo" class="col-sm-2 control-label">备注:</label>
            <div class="col-sm-8" id="memo" name="memo">
                <textarea class="form-control" rows="3"></textarea>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-6">
                <button type="submit" class="btn btn-primary  ">保存</button>
                <button type="button" class="btn btn-default " id="closeBtn">取消</button>
            </div>
        </div>
    </form>

提交表单

  $('#form').bootstrapValidator().on('success.form.bv',function (data) {
          //TODO 提交成功后的业务
   });

效果图

img_43f7bf10554e7358459bffaeeba6e797.png
校验效果

扩展

扩展一个username校验规则,长度6-20字符。

(function($) {
    $.fn.bootstrapValidator.i18n.username = $.extend($.fn.bootstrapValidator.i18n.username || {}, {
        'default': '请输入有效用户名'
    });
    $.fn.bootstrapValidator.validators.username = {
        validate: function(validator, $field, options) {
           var _v =$field.val();
           if(_v.length < 6 || _v.length >20){
               return false;
           }
            return true;
        }
    };
}(window.jQuery));
目录
相关文章
N..
|
4月前
|
开发框架 前端开发 UED
Bootstrap表单
Bootstrap表单
N..
52 0
|
4月前
|
Java 数据库连接
后端校验(hibernate-validator)
后端校验(hibernate-validator)
66 0
|
11月前
|
JavaScript 前端开发 数据安全/隐私保护
Javascript知识【validation插件重写表单注册校验】
Javascript知识【validation插件重写表单注册校验】
|
JavaScript
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
3401 0
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
|
4月前
|
Java 数据库 数据安全/隐私保护
【SpringBoot】Validator组件+自定义约束注解实现手机号码校验和密码格式限制
【SpringBoot】Validator组件+自定义约束注解实现手机号码校验和密码格式限制
474 1
|
前端开发
怎么使用async-validator快速校验表单
怎么使用async-validator快速校验表单
391 0
|
移动开发 小程序 JavaScript
uniapp form表单validator函数校验
uniapp form表单validator函数校验
uniapp form表单validator函数校验
|
前端开发
Bootstrap系列 -- 21. 表单提示信息
  平常在制作表单验证时,要提供不同的提示信息。在Bootstrap框架中也提供了这样的效果。使用了一个"help-block"样式,将提示信息以块状显示,并且显示在控件底部。 成功状态 你输入的信息是正确的   Bootstrap提供了一个行内提示信息,其使用了类名“help-inline”。
1782 0
|
Java 数据库连接
自定义Hibernate Validator校验注解
在《SpringBoot 2.0参数校验Hibernate Validator》基础上开发 定义注解 package com.futao.springmvcdemo.
2204 0
|
前端开发 容器
Bootstrap学习笔记--表单
Bootstrap表单有三种类型: 1. 垂直表单 :表单元素垂直分布 2. 内联表单:表单元素行内分布,左对齐 3. 水平表单:表单元素水平分布 默认:所有文本,和 类的元素.form-control都有100%的宽度。
1368 0