bootstrapValidator.min.js表单验证插件

下面是关于bootstrapValidator表单验证插件的完整攻略。

Bootstrap Validator 概述

Bootstrap Validator 是一个用来为表单组件添加验证的 jQuery 插件。它使用了 Twitter Bootstrap 的样式,并集成了 jQuery 的特性,可以非常方便地为表单添加验证规则。

安装步骤

首先需要下载 Bootstrap Validator 插件,官网下载地址为:https://gitee.com/styczynski/bootstrap-validator。

  1. 引入必要的库文件

在 head 头部引入需要的库文件:

<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.css">
<script src="//cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.js"></script>
<script src="dist/js/bootstrapValidator.min.js"></script>

其中,bootstrapValidator.min.js 就是 Bootstrap Validator 插件的核心文件,还需引入 Bootstrap 和 jQuery 的库文件。

  1. 设置验证规则

定义表单元素,然后使用 data-* 标签来定义验证规则:

<form id="form" method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-xs-3 control-label">用户名:</label>
        <div class="col-xs-6">
            <input type="text" class="form-control" name="username" data-bv-notempty="true"
                   data-bv-stringlength="true" data-bv-stringlength-min="6" data-bv-stringlength-max="30">
        </div>
    </div>
    <div class="form-group">
        <label class="col-xs-3 control-label">密码:</label>
        <div class="col-xs-6">
            <input type="password" class="form-control" name="password" data-bv-notempty="true"
                   data-bv-stringlength="true" data-bv-stringlength-min="6" data-bv-stringlength-max="30">
        </div>
    </div>
    <div class="form-group">
        <div class="col-xs-9 col-xs-offset-3">
            <button type="submit" class="btn btn-primary">提交</button>
        </div>
    </div>
</form>

上述示例中定义了两个 input 输入框用于用户输入用户名和密码,同时使用了多个 data-* 标签来声明验证规则:

  • data-bv-notempty="true":输入框不能为空。
  • data-bv-stringlength="true":输入框的字符长度需要在一定范围内,上述定义的规则是6到30个字符。

  • 初始化 Bootstrap Validator

上述代码的下方,使用以下代码初始化 Bootstarp Validator:

$(document).ready(function () {
    $('#form').bootstrapValidator();
});

这里的 #form 是指表单的 id,bootstrapValidator() 是 Bootstrap Validator 的初始化函数。

至此,在表单中就已经成功集成了 Bootstrap Validator 的表单验证插件。

  1. 表单验证的一些高级用法

上述代码中只是一个简单的验证规则示例,还可以做更多的定制化操作,以下是一些高级用法:

  • 远程验证
<input type="text" class="form-control" name="username" data-bv-remote="true"
       data-bv-remote-message="用户名不存在!" data-bv-remote-url="validate.php">
  • 自定义验证函数

在 JavaScript 中增加自定义的验证规则函数:

$.fn.bootstrapValidator.validators.myValidator = {
    validate: function(validator, $field, options) {
        var value = $field.val();
        if (value === 'myValue') {
            return false;
        }
        return true;
    }
};

然后在表单中使用 data-bv-myvalidator="true" 定义该验证规则即可。

示例说明

接下来,通过两个示例来进一步说明 Bootstrap Validator 的用法。

示例 1:远程验证用户名是否存在

<form id="remoteForm" method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-xs-3 control-label">用户名:</label>
        <div class="col-xs-6">
            <input type="text" class="form-control" name="username" data-bv-remote="true"
                   data-bv-remote-message="用户名不存在!" data-bv-remote-url="validate.php">
        </div>
    </div>
    <div class="form-group">
        <div class="col-xs-9 col-xs-offset-3">
            <button type="submit" class="btn btn-primary">提交</button>
        </div>
    </div>
</form>

以上示例代码定义了一个表单输入框,使用户能够输入用户名,并且通过使用 data-bv-remote="true" 标签使其支持了远程验证,服务端返回响应信息可以配置在 data-bv-remote-message="用户名不存在!" 中。

服务端返回的响应可以是标准的 JSON 格式,例如:

{
    "valid": false
}

返回的 valid 可以为 true 或者 false,如果验证成功,返回 true,如果验证失败,则返回 false

以上示例还需要在 JavaScript 中为 username 标签添加一个成功时和失败时的样式,代码如下:

$('#remoteForm').bootstrapValidator({
    fields: {
        username: {
            validators: {
                notEmpty: {
                    message: '用户名不能为空'
                },
                remote: {
                    message: '该用户名不存在',
                    url: 'validate.php',
                    type: 'POST'
                }
            },
            onSuccess: function(e, data) {
                alert(data.result);
            },
            onError: function(e, data) {
                alert(data.result);
            }
        }
    }
});

通过上述方法精确控制了输入框样式,可以在控制台进行 HTTP 请求的查看。

示例 2:自定义验证函数

<form id="customForm" method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-xs-3 control-label">邮箱:</label>
        <div class="col-xs-6">
            <input type="text" class="form-control" name="email" id="email" data-bv-emailaddress="true"
                   data-bv-emailaddress-message="该输入框必须是电子邮件地址">
        </div>
    </div>
    <div class="form-group">
        <label class="col-xs-3 control-label">确认邮箱:</label>
        <div class="col-xs-6">
            <input type="text" class="form-control" name="confirmEmail" id="confirmEmail"
                   data-bv-stringlength="true" data-bv-stringlength-min="5" data-bv-stringlength-max="50"
                   data-bv-stringlength-message="输入长度应该在5和50之间" data-bv-identical="true"
                   data-bv-identical-field="email" data-bv-identical-message="两次输入的电子邮件地址不匹配">
        </div>
    </div>
    <div class="form-group">
        <div class="col-xs-9 col-xs-offset-3">
            <button type="submit" class="btn btn-primary">提交</button>
        </div>
    </div>
</form>

以上示例实现了两个输入框用于输入电子邮件,验证过程为:第二个输入框中输入的内容必须和第一个输入框中的内容完全匹配,否则提示错误信息。

在 JavaScript 中为这两个输入框增加验证规则及提示信息:

$('#customForm').bootstrapValidator({
    fields: {
        email: {
            validators: {
                notEmpty: {
                    message: '电子邮件地址不能为空'
                },
                emailAddress: {
                    message: '电子邮件地址格式不正确'
                }
            }
        },
        confirmEmail: {
            validators: {
                notEmpty: {
                    message: '确认电子邮件地址不能为空'
                },
                stringLength: {
                    min: 5,
                    max: 50,
                    message: '长度应该在5和50之间'
                },
                identical: {
                    field: 'email',
                    message: '两次输入的电子邮件地址不匹配'
                }
            }
        }
    }
});

以上代码中在 email 中指定了是否为空和是否符合电子邮件地址格式这两个验证规则,而在 confirmEmail 中则指定了输入框长度需要在5和50之间,并且指定了在确认邮箱输入框中输入的内容必须与 email 输入框中的内容完全一致。

到此为止,Bootstarp Validator 的一些简单用法和高级用法就介绍完了,希望能够帮助到大家。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:bootstrapValidator.min.js表单验证插件 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • jQuery使用ajax跨域请求获取数据

    下面详细讲解“jQuery使用ajax跨域请求获取数据”的完整攻略。 1. 什么是跨域请求? 跨域请求指的是向一个不同域名(或者协议、端口)的服务器发起请求,这种请求是不被允许的。比如我们的web页面在访问http://www.example.com的时候,去请求http://www.baidu.com就属于跨域请求。 2. jQuery ajax 跨域请求…

    JavaScript 2023年6月11日
    00
  • Angular实现的table表格排序功能完整示例

    让我为你详细讲解“Angular实现的table表格排序功能完整示例”的完整攻略。 什么是Angular实现的table表格排序功能 在Angular中,我们可以通过使用ngFor指令循环渲染table表格中的数据,并在表格头部添加按钮进行排序,达到对表格数据排序的目的。这种方法可以在应用中节省代码量,并提高数据可读性。 如何实现Angular实现的tabl…

    JavaScript 2023年6月10日
    00
  • js实现文字闪烁特效的方法

    下面是JS实现文字闪烁特效的方法的完整攻略: 方法一:用CSS实现文字闪烁特效 1. 在CSS中设置不透明度为0和1的关键帧动画 @keyframes blink { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } 2. 将带有文字的HTML元素定义为闪烁动画 .blink { an…

    JavaScript 2023年6月11日
    00
  • JavaScript Array 对象

    以下是关于JavaScript Array对象的完整攻略。 JavaScript Array对象 JavaScript Array对象是一种特殊的对象,用于存储一组有序的数据。数组中的每个元素都有一个唯一的索引可以通过索引访问数组中的元素。数组可以包含任何类型的数据,包括数字、字符串、对象等。 下面是一个创建和访问数组的示例: var arr = [1, 2…

    JavaScript 2023年5月11日
    00
  • Sanic框架Cookies操作示例

    下面我来详细讲解一下“Sanic框架Cookies操作示例”的完整攻略。 一、什么是Cookies? 一般来说,Cookies是一个小型的文本文件,可以在客户端浏览器上存储一些简单的用户信息,比如登录状态、浏览历史、购物车信息等。 在Web开发中,Cookies经常被用来跟踪用户的行为,比如记录用户的喜好,让广告展示更精准;或者保存用户的登录状态,方便下次登…

    JavaScript 2023年6月11日
    00
  • Vue.js每天必学之数据双向绑定

    Vue.js每天必学之数据双向绑定攻略 什么是数据双向绑定 数据双向绑定是指当数据发生变化时,页面元素会自动更新来保持一致,同时当用户操作页面元素发生变化时,与之绑定的数据也会自动更新。 为什么需要数据双向绑定 数据双向绑定可以帮助我们更加方便地处理页面元素和数据之间的关系,简化了开发过程并提高了开发效率。 如何实现数据双向绑定 Vue.js提供了v-mod…

    JavaScript 2023年6月11日
    00
  • js中的函数嵌套和闭包详情

    当我们在JavaScript中编写代码时,经常需要编写函数。有时候,我们需要将一个函数作为一个参数传递给另一个函数,有时候,我们需要在函数中嵌套另一个函数。这些都是JavaScript中函数嵌套和闭包的常见用途。 函数嵌套 函数嵌套是指将一个函数定义在另一个函数内部并调用的过程。这样做的好处是可以将代码模块化,使得代码更加可读和易于维护。 以下是一个简单的函…

    JavaScript 2023年5月27日
    00
  • 解析php防止form重复提交的方法

    下面是解析PHP防止form重复提交的方法的完整攻略: 什么是防止form重复提交? 表单重复提交的情况在Web应用程序中很常见,这可能会导致应用程序的各种问题,例如重复表单提交对数据库的写入,导致数据重复或错误。这是一种不良的用户体验,可能会使用户失去对应用程序的信任感。为了避免这种情况,开发人员已经产生了一些技术来防止表单重复提交,这是Web应用程序设计…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部