bootstrapvalidator已定义的验证规则
说明
这里使用的是0.5.2版本
以下查找操作都基于[bootstrapValidator.min.js]文件
查找bootstrapValidator的选项options
- 在浏览器打开此文件
- 使用快捷键Ctrl+F使光标定位到查找框中
- 输入[]中的字符串[a.fn.bootstrapValidator.DEFAULT_OPTIONS =]进行定位
- 结果如下
- 根据bootstrapvalidator的版本不同或浏览器不同,展现的代码会有所差异
- 从上图可以看到,group:".form-group",也即要求<form>或<div>要声明类名为[.form-group],若不然,也许验证将不起作用,我刚开始学的时候就遇到过这个问题,在这里说一下。
查找bootstrapValidator的已验证规则
输入[]内的字符串进行定位[a.fn.bootstrapValidator.validators.]
- 此后每一个function(a)都是一个已有规则
- html5Attributes属性就是这个规则的html5使用方式
- validate属性是这个规则的验证的实现
常用规则
- 判断字符串的编码方式是base64
base64:{
message:"提示" //输入框为空时,验证通过
}
- 判断数值的范围
between:{
message:"提示", //可以是小数
min:'最小值',
max:"最大值",
inclusive:"是否是闭区间" //true | false
}
- 永真验证
blank:{
message:"提示" //实现是直接返回 !0,即true
}
- 使用回调函数进行验证
callback:{ //可以传三个参数,按序分别为e,b,c
message:"提示", //e=$field.val()
callback:"回调函数" //b=自定义validate时的第一个参数,我还不知道这是什么,若你知道,可以评论告诉我
//c=$field
}
- 复选框选择数量
choice:{
message:"提示",
min:"最少选择",
max:"最多选择"
}
- 日期格式校验
date:{
message:"提示",
format:"格式", //默认MM/DD/YYYY,如果字段是type=“date”,则默认YYYY/MM/DD
separator:"分隔符" //如果format为MM/DD/YYYY,则分隔符就为/,如果format为MM-DD-YYYY,则分隔符就为-
}
- 两个字段值不相等判断
different:{
message:"提示",
field:"比对字段的名称" //可以有多个fieldName, 用逗号分隔,要求被验证的字段与这些字段值都不相同,fieldname最好是在本字段之前,否则可能出错
}
- 数字判断
digits:{
message:""
}
- 邮箱地址验证
emailAddress:{
message:"",
multiple:"多个邮箱同时验证", //true | false
separator:"分隔符"
}
- 文件验证
file:{
message:"",
maxsize:"最大文件大小",
minsize:"最小文件大小",
type:"文件类型"
}
- 大于等于判断
greaterThan:{
message:"",
value:"值",
inclusive:"是否包含等于" //true | false
}
- 十六进制字符串判断
hex:{
message:"" //不是java里面的Ox字面量,匹配/^[0-9a-fA-F]+$/
}
- 十六进制表示颜色值判断
hexColor:{
message:"" //匹配/(^#[0-9A-F]$)|(^#[0-9A-f]{3}$)/
}
- 身份证号码验证
id:{
message:"",
country:"国家代码" //有中国
}
//country_codes:
//[BA,BG,BR,CH,CL,CN,CZ,DK,EE,ES,FI,HR,IE,IS,LT,LV,ME,MK,NL,RO,RS,SE,SI,SK,SM,TH,ZA]
//以下是部分国家代码的解释,其他请看第39项
CL:"Chile", CN:"China", TH:"Thailand", ZA:"South Africa"
- 两个字段值相等判断
identical:{
message:"提示",
field:"另一比较字段" //被比较的字段,应在本字段前,且只能和一个字段比较
}
- 整数判断
integer:{
message:"" //匹配/^(?:-?(?:0|[1-9][0-9]*))$/
}
- ip地址判断
ip:{
message:"", //可以只是ipv4,也可以只是ipv6,还可以同时验证
ipv4:"", //true | false
ipv6:"" //true | false
}
- 国际标准图书编号ISBM验证
isbn:{
message:""
}
- 小于等于验证
lessThan:{
message:"",
value:"上界",
inclusive:"是否闭区间" //true | false
}
- 硬件地址Mac验证
mac:{
message:""
}
- 非空验证
notEmpty:{
message:"" //trim后判断,即只含空白字符也不行
}
- float类型验证
numeric:{
message:"整数也算float",
separator:"分隔符" //即小数点符号,默认点号,即使设置了分隔符,依然可以用点号,只是不能同时用分隔符
}
- 手机号码验证
phone:{
message:"",
country:"国家编码" //包括中国
}
//支持如下国家
//BR, CN, CZ, DK, ES, FR, GB, MA, PK, RO, RU, SK, TH, US, VE
- 正则表达式验证
regexp:{
message:"",
regexp:"正则式"
}
- 远程验证
remote:{ //远程验证服务应返回一个json字串:valid:true|false
message:"提示",
name:"字段映射的名字", //将加入到data中去,即data[name]=field.val()
type:"请求方法", //默认GET
url:"远程验证路径url",
headers:"请求头", //默认{}
data:"请求参数" //默认{}
delay:"延时发送" //单位毫秒,即每次输入事件,都delay毫秒后进行远程验证
}
- 字符串大小写验证
stringCase:{
message:"小写验证不可以出现大写字母,但可以有中文和数字,反之亦然",
"case":"lower|upper"
}
- 字符串长度验证
stringLength:{
message:"",
min:"最小长度",
max:"最大长度"
}
- 统一资源定位符URI
uri:{
message:"",
allowLocal:"", //还未使用,不清楚这个字段是什么意思,如果你知道的话可以评论告诉我
protocol:"协议"
}
//支持url, http, https, ftp
step:{
message:"提示", //jquery语法不太好,源码看着有点绕,所以不知道是干嘛的。。。
base:"baseValue",
step:""
}
- 通用唯一识别码UUID
uuid:{
message:"",
version:"版本" //3,4,5,all
}
- 国际标准期刊号ISSN验证
issn:{
message:""
}
- 移动设备识别码MEID验证
meid{
message:""
}
- 国际移动电话设备识别码验证
imei:{
message:""
}
- 信用卡
creditCard:{
message:""
}
- Committee on Uniform Securities Identification Procedures
cusip:{
message:""
}
- 信用卡校验码判断
cvv:{
message:"",
ccfield:"信用卡field名称"
}
- 通用商品条形码验证
ean:{
message:""
}
grid:{
message:""
}
- 国际银行账号判断
iban:{
message:"",
country:"填下表的值,如AD" //没有中国
}
//country包含:
AD: "Andorra", AE: "United Arab Emirates", AL: "Albania", AO: "Angola", AT: "Austria",
AZ: "Azerbaijan",
BA: "Bosnia and Herzegovina", BE: "Belgium", BF: "Burkina Faso", BG: "Bulgaria",
BH: "Bahrain", BI: "Burundi", BJ: "Benin", BR: "Brazil",
CH: "Switzerland", CI: "Ivory Coast", CM: "Cameroon", CR: "Costa Rica", CV: "Cape Verde",
CY: "Cyprus", CZ: "Czech Republic",
DE: "Germany", DK: "Denmark", DO: "Dominica", DZ: "Algeria",
EE: "Estonia", ES: "Spain",
1FI: "Finland", FO: "Faroe Islands", FR: "France",
GB: "United Kingdom", GE: "Georgia", GI: "Gibraltar", GL: "Greenland", GR: "Greece",
GT: "Guatemala",
HR: "Croatia", HU: "Hungary", IE: "Ireland", IL: "Israel", IR: "Iran", IS: "Iceland",
IT: "Italy", JO: "Jordan", KW: "Kuwait", KZ: "Kazakhstan", LB: "Lebanon",
LI: "Liechtenstein", LT: "Lithuania", LU: "Luxembourg", LV: "Latvia",
MC: "Monaco", MD: "Moldova", ME: "Montenegro", MG: "Madagascar", MK: "Macedonia",
ML: "Mali", MR: "Mauritania", MT: "Malta", MU: "Mauritius", MZ: "Mozambique",
NL: "Netherlands", NO: "Norway",
PK: "Pakistan", PL: "Poland", PS: "Palestine", PT: "Portugal",
QA: "Qatar",
RO: "Romania", RS: "Serbia",
SA: "Saudi Arabia", SE: "Sweden", SI: "Slovenia", SK: "Slovakia", SM: "San Marino",
SN: "Senegal",
TN: "Tunisia", TR: "Turkey",
VG: "Virgin Islands, British"
- International Maritime Organization
imo:{
message:""
}
- International Securities Identification Number
isin:{
message:""
}
- 国际标准音乐作品编码ISMN验证
ismn:{
message:""
}
- RTN
rtn:{
message:""
}
- Stock Exchange Daily Official List
sedol:{
message:""
}
- 企业机构汇编信息系统编号SIREN
siren:{
message:""
}
- 法国唯一商业识别码SIRET
siret:{
message:""
}
- 增值税发票号VAT
vat:{
message:"",
country:"国家编码"
}
//支持如下国家
//AT,BE,BG,BR,CH,CY,CZ,DE,DK,EE,EL,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MT,NL
//NO,PL,PT,RO,RU,RS,SE,SK,SI,VE,ZA
- 车辆识别码VIN
vin:{
message:""
}
- 邮政编码
zipCode:{
message:"",
country:"国家编码" //没有中国
}
//支持
//["BR", "CA", "CZ", "DK", "GB", "IT", "MA", "NL", "RO", "RU", "SE", "SG", "SK", "US"]