async-validator 是一个表单异步校验库,阿里旗下的 Ant-design 和 Element 组件库中的表单验证使用的都是 async-validator ,目前版本已更新到 4.0.7 ,下载量达到 1,067,202次,不仅支持 js ,同时也可支持 typeScript 。是一个功能超级强大的库,有兴趣的一起来了解了解。 async-validator 官网地址: https://ww...
varwarning =functionwarning() {};//don't print warning message when in production env or node runtimeif(typeofprocess !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' &&typeofwindow !== 'undefined' &&typeofdocument !== 'undefined') { warning=functionwarning(type...
在其背后的实现机制中,async-validator模块没有采用switch语句在单一的函数中完成类型判断,而是通过types对象设定每种类型的校验方法,接着通过调用types[type](value)方法实现类型校验,这样能使代码的结构变得清晰。 // src/rule/type.js const types = { integer(value) { return types.number(value) && parseInt...
import Schema from 'async-validator'; const descriptor = { // name字段的校验规则 name: { type: "string", required: true, validator(rule, value) { return value === "muji" }, message: "输入错误" } }; const validator = new Schema(descriptor); validator.validate({ name: "muji" }, ...
async-validator 支持多种内置校验规则,如 required、type、min、max、enum 等。同时,它也允许自定义校验规则。 自定义校验规则可以通过 validator 属性来定义,该属性接收一个返回 Promise 或布尔值的函数。 javascript const rules = { customField: [ { validator: (rule, value, callback) => { // 自定...
groupId: {type:'number',required:true,message:'请选择所属分组'},// 类型校验 // 枚举校验 role: {required:true,type:'enum',enum: [1,2,3],message:'产品类型选择错误'}, // 多个规则 key: [ { required:true, pattern:/^[a-z_]+/, ...
我计划去做一个校验工具, 可以根据服务端的返回来生成 form 表单并进行校验, 所以我选用的是 element-plus, 这个校验工具使用的是 async-validator.
平常开发写element表单的时候,肯定少不了表单的校验,element使用的是 async-validator 这个开源库。 image-20220517090312952 这篇文章详细分析一下async-validator的主流程。 使用方法 代码语言:javascript 代码运行次数:0 运行 AI代码解释 importSchemafrom'async-validator';constdescriptor={list:{required:true,type:'nu...
type {String}:内置校验类型,可选值如下 string:必须是 string 类型,默认类型 number:必须是 number 类型 boolean:必须是 boolean 类型 method:必须是 function 类型 regexp:必须是 regexp 类型 integer:必须是整数类型 float:必须是浮点数类型 array:必须是 array 类型 object:必须是 object 类型 enum:必须出现在...
* @param options.messages The validation messages.*/export declare type ExecuteValidator=( rule: InternalRuleItem, value: Value, callback: (error?: string[]) =>void, source: Values, options: ValidateOption )=>void; 上述的解释翻译为中文: ...