validationEngine 使用方法、参数说明、必填、选填optional

验证规则均写在 validate[] 中,如有多条规则,用英文逗号(,)分割。

例:validate[required,minSize[6],custom[onlyLetterNumber]]

尤其要说明一个参数:optional,可选项。可填可不填,如果填写了,则执行验证,如果没填写就不验证。

名称 示例 说明
required validate[required]

表示必填项

optional validate[optional] 厉害了。
可选项。可填可不填,如果填写了,则执行验证,如果没填写就不验证。
groupRequired[string] validate[groupRequired[grp]] 在验证组为 grp 的群组,中至少输入或选择一项
condRequired[string] validate[condRequired[ids]] 当 ids 的某个控件不为空时,那么该控件也为必填项。

可以依赖多项,如:validate[condRequired[id1,id2]][Demo]

minSize[int] validate[minSize[6]] 最少输入字符数
maxSize[int] validate[maxSize[20]] 最多输入字符数
min[int] validate[min[1]] 最小值(该项为数字的最小值,注意与 minSize 的区分)
max[int] validate[max[9999]] 最大值(该项为数字的最大值,注意与 maxSize 的区分)
minCheckbox[int] validate[minCheckbox[2]] 最少选取的项目数(用于 Checkbox)
maxCheckbox[int] validate[maxCheckbox[2]] 最多选取的项目数(用于 Checkbox)
date[string] validate[custom[date]] 验证日期,格式为 YYYY/MM/DD、YYYY/M/D、YYYY-MM-DD、YYYY-M-D
dateFormat[string] validate[custom[dateFormat]] 验证日期格式,格式为 YYYY/MM/DD、YYYY/M/D、YYYY-MM-DD、YYYY-M-D
dateTimeFormat[string] validate[custom[dateTimeFormat]] 验证日期及时间格式,格式为:YYYY/MM/DD hh:mm:ss AM|PM
dateRange[string] validate[dateRange[grp1]] 验证 grp1 的值是否符合日期范围(开始日期与结束日期)

根据控件的前后位置,如果当前控件在 grp1 元素之后,输入的日期不能是 grp1 日期的过去。

如果当前控件在 grp1 控件之前,输入的日期不能是 grp1 日期的未来。[Demo]

dateTimeRange[string] validate[dateTimeRange[grp1]] 验证日期及时间范围,增加了时间的对比,其他的和 dateRange 一样。
past[string] validate[past[2012/12/20]] 日期必需是 date 或 date 的过去。date 格式可写作 YYYY/MM/DD、YYYY/M/D、YYYY-MM-DD、YYYY-M-D 或 now
future[string] validate[future[now]] 日期必须是 data 或 date 的未来。date 格式可写作 YYYY/MM/DD、YYYY/M/D、YYYY-MM-DD、YYYY-M-D 或 now
equals[string] validate[equals[id]] 当前控件的值需与控件 id 的值相同
number validate[custom[number]] 验证数字
integer validate[custom[integer]] 验证整数
phone validate[custom[phone]] 验证电话号码
email validate[custom[email]] 验证 E-mail 地址
url validate[custom[url]] 验证 url 地址,需以 http://、https:// 或 ftp:// 开头
ipv4 validate[custom[ipv4]] 验证 ipv4 地址
onlyNumberSp validate[custom[onlyNumberSp]] 只接受填数字和空格
onlyLetterSp validate[custom[onlyLetterSp]] 只接受填英文字母、单引号(')和空格
onlyLetterNumber validate[custom[onlyLetterNumber]] 只接受数字和英文字母
custom[自定义规则] validate[custom[ruleName]] 自定义规则验证
'ruleName': {
  'regex': RegExp, /* 正则表达式,如果正则能匹配内容表示通过 */
  'alertText': '验证不通过时的提示信息'
}
ajax validate[ajax[ajaxName]] 自定义 ajax 验证
'ajaxName': {
  'url': 'phpajax/ajaxValidateFieldUser.php', /* 验证程序地址 */
  'extraData': 'name=eric', /* 额外参数 */
  'alertTextOk': '验证通过时的提示信息',
  'alertText': '验证不通过时的提示信息',
  'alertTextLoad': '正在验证时的提示信息'
}
/*
 * 例:
 * <input type="text" id="email" class="validate[ajax[ajaxName]]">
 * 假设填写的值为:ciaoca@gmail.com
 * extraData 设置为:'type=register&verify=abcd'
 * 提交到后端的 url 为:phpajax/ajaxValidateFieldUser.php?email=ciaoca@gmail.com&type=register&verify=abcd
 */

传输方式:get

传递参数:"fieldId=" + field.attr("id") + "&fieldValue=" + field.val()

额外参数:extraData 可以设置为字符串或对象,会在参数结尾追加 "&extraData"

返回数据格式:json

返回数据内容:[String,Boolean]

第一个值类型为 String,是接收到 fieldId 的值;

第二个值类型为 Boolean,验证通过返回 true,不通过返回 false

具体请参考 [Demo]

funcCall validate[funcCall[functionName]] 调用外部函数验证

functionName(field, rules, i, options)

上一篇:记录一次使用validate,并将验证错误结果返回给前端


下一篇:CRM--modelform之instance