validator 与 rule 紧密相连,rule 目录下的文件主要功能是校验 value 和 rule ,然后给 errors 数组中添加 error 。validator 则是把 校验的 value 细分成各种类型,对不同的类型进行不同的 rule 校验组合,便于回调函数 callback 对最终的 errors 数组做最终的处理。 校验流程如下: 1、校验方法结构相同,第一步先...
validator 与 rule 紧密相连,rule 目录下的文件主要功能是校验 value 和 rule ,然后给 errors 数组中添加 error 。validator 则是把 校验的 value 细分成各种类型,对不同的类型进行不同的 rule 校验组合,便于回调函数 callback 对最终的 errors 数组做最终的处理。 校验流程如下: 1、校验方法结构相同,第一步先...
第一步校验非空数组,第二步校验类型,第三步校验范围。 importrulesfrom'../rule/index';import{isEmptyValue}from'../util';/*** 校验数组** @param rule 校验规则* @param value 该字段在source对象中的值* @param callback 回调函数* @param source 要校验的source对象* @param options 校验选项* @par...
把每个字段的校验规则统一成了一个数组对象 把原本的校验对象放到了rule属性中,并且添加了value、source、field属性 根据required和type补充了默认的validator校验函数 预处理 descriptor 对应的源码 让我们过一下这部分源码。 在构造函数中,把descriptor所有字段的rule转为了数组,保存到rules对象中。 constructor(descriptor:...
官网https://github.com/yiminghe/async-validator 本文是在使用iview的表单时候使用该规则的,所以没有仔细研究相关函数里面的参数等等 基础用法: email: [ { 校验规则1 }, { 校验规则2 }, }, ], 校验规则包含: type: String,-string:Must be oftypestring.This is thedefaulttype.-number:Must be oftype...
import asyncValidator from 'async-validator'; const Validator = asyncValidator.default; // 定义校验规则 const rules = { name: { type: 'string', required: true, validator: (rule, value) => value === 'muji', }, age: { type: 'number', ...
根据required和type补充了默认的validator校验函数 预处理 descriptor 对应的源码 让我们过一下这部分源码。 在构造函数中,把descriptor所有字段的rule转为了数组,保存到rules对象中。 代码语言:javascript 复制 constructor(descriptor:Rules){this.define(descriptor);}define(rules:Rules){if(!rules){thrownewError('Cann...
前后端开发中,表单校验是一个常用且必要的功能。前端开发中一些 UI 库如Element、Ant Design表单组件都使用了async-validator作为校验库。 async-validator 功能与特性: 内置多种数据格式校验功能,包括数组、枚举、对象 异步校验库,支持自定义校验方法 一个字段支持多个校验规则,支持自定义字段错误信息 ...
是rule 目录的统一出口管理,主要是给 errors 数组添加对应的 error 。 required.d.ts 文件: import { ExecuteRule } from '../interface'; declare const required: ExecuteRule; exportdefaultrequired; 主要作用是校验必填字段的规则。 其中ExecuteRule 是来自于 interface.d.ts 文件中的 ...
- pattern:使用正则表达式,例如`/^(a-zA_Z0-9){2,10}$/`,表示邮箱地址应由2到10位数字或字母组成。 - max、min、len:设置邮箱地址的最大、最小和长度限制,例如`{max:2,min:10, message:'请输入2到10位数字或字母', trigger:'blur'}`。 - enum:只能输入在备选数组中的值,例如`{type:'enum',en...