优秀的编程知识分享平台

网站首页 > 技术文章 正文

BootstrapValidato两种方式使用说明

nanyue 2024-09-06 20:14:16 技术文章 9 ℃

BootstrapValidato两种方式使用说明

下载地址:()

第一步:引入文件

<link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/>

<link rel="stylesheet" href="/path/to/dist/css/bootstrapValidator.min.css"/>

<script type="text/javascript" src="/path/to/jquery/jquery.min.js"></script>

<script type="text/javascript" src="/path/to/bootstrap/js/bootstrap.min.js"></script>

<script type="text/javascript" src="/path/to/dist/js/bootstrapValidator-all.js"></script>

第二步:增加验证规则,

默认要验证的字段页面格式必须是:

<input class="form-control" />标签有name属性,且在<div class="form-group"></div>包裹。

添加验证规则有两种方式,一种是通过html标签添加(推荐);另一种是通过js代码添加。

1)通过html标签添加

Form 标签增加属性

data-bv-message="This value is not valid"

data-bv-feedbackicons-valid="glyphicon glyphicon-ok"

data-bv-feedbackicons-invalid="glyphicon glyphicon-remove"

data-bv-feedbackicons-validating="glyphicon glyphicon-refresh">

验证字段上增加data-bv-**开头的属性 以及规则不符合的信息data-bv-**-message

例如验证两次密码输入是否一致

data-bv-identical

data-bv-identical-field="比对的字段name"

data-bv-identical-message="两次密码输入不一致"

然后页面初始化后 ,增加$('#editForm').bootstrapValidator()验证即可

另外,关于有哪些规则

通过js添加规则(网上比较多)

$(function(){/* 文档加载,执行一个函数*/

$('#defaultForm')

.bootstrapValidator({

message: 'This value is not valid',

feedbackIcons: {/*input状态样式图片*/

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-remove',

validating: 'glyphicon glyphicon-refresh'

},

fields: {/*验证:规则*/

username: {//验证input项:验证规则

message: 'The username is not valid',

validators: {

notEmpty: {//非空验证:提示消息

message: '用户名不能为空'

},

stringLength: {

min: 6,

max: 30,

message: '用户名长度必须在6到30之间'

},

threshold : 6 , //有6字符以上才发送ajax请求,(input中输入一个字符,插件会向服务器发送一次,设置限制,6字符以上才开始)

remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}

url: 'exist2.do',//验证地址

message: '用户已存在',//提示消息

delay : 2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)

type: 'POST'//请求方式

/**自定义提交数据,默认值提交当前input value

* data: function(validator) {

return {

password: $('[name="passwordNameAttributeInYourForm"]').val(),

whatever: $('[name="whateverNameAttributeInYourForm"]').val()

};

}

*/

},

regexp: {

regexp: /^[a-zA-Z0-9_\.]+$/,

message: '用户名由数字字母下划线和.组成'

}

}

},

password: {

message:'密码无效',

validators: {

notEmpty: {

message: '密码不能为空'

},

stringLength: {

min: 6,

max: 30,

message: '用户名长度必须在6到30之间'

},

identical: {//相同

field: 'password', //需要进行比较的input name值

message: '两次密码不一致'

},

different: {//不能和用户名相同

field: 'username',//需要进行比较的input name值

message: '不能和用户名相同'

},

regexp: {

regexp: /^[a-zA-Z0-9_\.]+$/,

message: 'The username can only consist of alphabetical, number, dot and underscore'

}

}

},

repassword: {

message: '密码无效',

validators: {

notEmpty: {

message: '用户名不能为空'

},

stringLength: {

min: 6,

max: 30,

message: '用户名长度必须在6到30之间'

},

identical: {//相同

field: 'password',

message: '两次密码不一致'

},

different: {//不能和用户名相同

field: 'username',

message: '不能和用户名相同'

},

regexp: {//匹配规则

regexp: /^[a-zA-Z0-9_\.]+$/,

message: 'The username can only consist of alphabetical, number, dot and underscore'

}

}

},

email: {

validators: {

notEmpty: {

message: '邮件不能为空'

},

emailAddress: {

message: '请输入正确的邮件地址如:123@qq.com'

}

}

},

phone: {

message: 'The phone is not valid',

validators: {

notEmpty: {

message: '手机号码不能为空'

},

stringLength: {

min: 11,

max: 11,

message: '请输入11位手机号码'

},

regexp: {

regexp: /^1[3|5|8]{1}[0-9]{9}$/,

message: '请输入正确的手机号码'

}

}

},

invite: {

message: '邀请码',

validators: {

notEmpty: {

message: '邀请码不能为空'

},

stringLength: {

min: 8,

max: 8,

message: '请输入正确长度的邀请码'

},

regexp: {

regexp: /^[\w]{8}$/,

message: '请输入正确的邀请码(包含数字字母)'

}

}

},

}

})

.on('success.form.bv', function(e) {//点击提交之后

// Prevent form submission e.preventDefault();

// Get the form instance

var $form = $(e.target);

// Get the BootstrapValidator instance

var bv = $form.data('bootstrapValidator');

// Use Ajax to submit form data 提交至form标签中的action,result自定义

$.post($form.attr('action'), $form.serialize(), function(result) {//do something...});

});

});

其他补充:

默认验证的都是一行一个字段的情况,如果一行有多个字段,请增加form属性 data-bv-group=".field-group" ,一行内每个字段只有用filed-group class属性包裹即可。

最近发表
标签列表