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

本文主要是介绍validationEngine 使用方法、参数说明、必填、选填optional,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

名称示例说明
requiredvalidate[required]

表示必填项

optionalvalidate[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 的值相同
numbervalidate[custom[number]]验证数字
integervalidate[custom[integer]]验证整数
phonevalidate[custom[phone]]验证电话号码
emailvalidate[custom[email]]验证 E-mail 地址
urlvalidate[custom[url]]验证 url 地址,需以 http://、https:// 或 ftp:// 开头
ipv4validate[custom[ipv4]]验证 ipv4 地址
onlyNumberSpvalidate[custom[onlyNumberSp]]只接受填数字和空格
onlyLetterSpvalidate[custom[onlyLetterSp]]只接受填英文字母、单引号(')和空格
onlyLetterNumbervalidate[custom[onlyLetterNumber]]只接受数字和英文字母
custom[自定义规则]validate[custom[ruleName]]自定义规则验证
'ruleName': {'regex': RegExp, /* 正则表达式,如果正则能匹配内容表示通过 */'alertText': '验证不通过时的提示信息'
}
ajaxvalidate[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]

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

functionName(field, rules, i, options)

这篇关于validationEngine 使用方法、参数说明、必填、选填optional的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/693646

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a