所有验证规则都在此设置,每个字段一个对象
var opts_validate = {
rules: {
tag_name: {
require: true, // 验证类型
format: 'alpha_dash' // 验证格式
},
tag_note: {
length: '1,30' // 验证类型
},
tag_status: {
require: true
},
// 更多规则...
},
// 更多配置...
};
require
验证某个字段必须,例如:
rules: {
name: {
require: true,
},
},
accepted
验证某个字段是否为为 yes, on, 或是 1。这在确认 "服务条款" 是否同意时很有用,例如:
rules: {
name: {
accepted: true,
},
},
in
验证某个字段的值是否在某个范围,例如:
rules: {
name: {
in: '1,2,3',
},
},
not_in
验证某个字段的值不在某个范围,例如:
rules: {
name: {
not_in: '1,2,3',
},
},
between
验证某个字段的值是否在某个区间,例如:
rules: {
name: {
between: '25,60',
},
},
not_between
验证某个字段的值不在某个区间,例如:
rules: {
name: {
not_between: '20,30',
},
},
length
验证某个字段的值的长度是否在某个范围,例如:
rules: {
name: {
length: '4,25',
},
},
min
验证某个字段的值的最小长度,例如:
rules: {
name: {
min: 4,
},
},
max
验证某个字段的值的最大长度,例如:
rules: {
name: {
max: 25,
},
},
after
验证某个字段的值是否在某个日期之后,例如:
rules: {
name: {
after: '2016-3-18',
},
},
before
验证某个字段的值是否在某个日期之前,例如:
rules: {
name: {
before: '2016-3-18',
},
},
expire
验证某个字段是否在某个有效日期之内,例如:
rules: {
name: {
expire: '2016-2-1,2016-10-01',
},
},
confirm
验证某个字段是否和另外一个字段的值一致,例如:
rules: {
password: {
require: true,
},
password_confirm: {
confirm: true,
},
},
系统会自动验证 password_confirm 与 password 是否一致。
该规则是自动验证的,只要在需要验证的字段名后加上
rules: {
password: {
require: true,
},
repassword: {
confirm: 'password',
},
},
different
验证某个字段是否和另外一个字段的值不一致,例如:
rules: {
account: {
require: true,
},
account_different: {
different: true,
},
},
该规则与 confirm 类似,只要在需要验证的字段名后加上
rules: {
account: {
require: true,
},
reaccount: {
different: 'account',
},
},
gt 或 >
验证是否大于某个值,例如:
rules: {
score: {
gt: 100,
},
num: {
'>': 100,
},
},
egt 或 >=
验证是否大于等于某个值,例如:
rules: {
score: {
egt: 100,
},
num: {
'>=': 100,
},
},
lt 或 <
验证是否小于某个值,例如:
rules: {
score: {
lt: 100,
},
num: {
'<': 100,
},
},
elt 或 <=
验证是否小于等于某个值,例如:
rules: {
score: {
elt: 100,
},
num: {
'<=': 100,
},
},
eq、= 或 same
验证是否等于某个值,例如:
rules: {
score: {
eq: 100,
},
num: {
'=': 100,
},
num_1: {
same: 100,
},
},
neq、<> 或 !=
验证是否不等于某个值,例如:
rules: {
score: {
neq: 100,
},
num: {
'<>': 100,
},
num_1: {
'!=': 100,
},
},
格式验证只需设置 format 参数
rules: {
name: {
format: 'number',
},
},
format 参数可选如下值
值 | 描述 |
---|---|
number | 纯数字(不包含负数和小数点) |
int | 整数 |
float | 浮点数 |
bool | 布尔值 |
array | 数组 |
date | 有效日期 |
time | 有效时间 |
date_time | 有效日期时间 |
alpha | 字母 |
alpha_number | 字母与纯数字 |
alpha_dash | 字母、数字、连字符(-)与下划线(_) |
chs | 中文 |
chs_alpha | 中文与字母 |
chs_alpha_number | 中文、字母与纯数字 |
chs_dash | 中文、字母、数字、连字符(-)与下划线(_) |
url | URL 地址 |
ip | IP 地址(含 IPv4 与 IPv6) |
以下规则为验证值是否为指定的格式,如:
假设规则为 Y-m-d
表单输入值为 2019-05-06
时,验证通过
表单输入值为 19-05-06
或 May. 6, 2019
验证不通过
date_format
验证某个字段的值是否为指定格式的日期,例如:
rules: {
create_time: {
date_format: 'Y-m-d',
},
},
time_format
验证某个字段的值是否为指定格式的时间,例如:
rules: {
create_time: {
time_format: 'H:i:s',
},
},
date_time_format
验证某个字段的值是否为指定格式的日期时间,例如:
rules: {
create_time: {
date_time_format: 'Y-m-d H:i:s',
},
},
支持直接使用正则验证,例如:
rules: {
zip: {
regex: '\d{6}',
},
},
基本用法,例如:
rules: {
zip: {
require: true,
ajax: {
url: 'ajax.json'
}
},
},
上述例子会使用 ajax.json?zip={:value}
形式的 URL 进行验证。
URL 中的 zip
参数默认为规则名,{:value}
为表单值。
服务器返回
3.0.2
起,服务器返回的参数名改为可选,以下例子为默认值。
插件接受 json 对象的返回,如:
{
msg: '验证成功', // 消息
error_msg: '' // 错误信息,当此对象未定义或为空时,则视为验证成功
error: '' // 3.0.2 以前
}
高级用法,例如:
rules: {
zip: {
require: true,
ajax: {
key: 'zipcode',
attach: {
selectors: ['#cate', '#parent'],
keys: ['cate', 'parent']
},
url: 'ajax.json'
}
},
},
上述例子会使用 ajax.json?zipcode={:value}&cate={:cate}&parent={:parent}
形式的 URL 进行验证。
URL 中的 zipcode
参数由 key
对象定义。
attach
对象为附加查询,其中:
selectors
定义的为表单选择器keys
定义的为参数名他们会以 {:参数名}={:选择器的值}
的形式附加到 URL 中。