zgg-ui
Version:
2.0.1 正式版本 基于 Vue 3、UniApp 和 TypeScript 开发的多端适配移动端 UI 组件库,旨在提供丰富的组件集合,帮助开发者快速构建多端响应式的移动应用界面
25 lines (21 loc) • 672 B
text/typescript
// @ts-nocheck
import type { ExecuteValidator } from '../interface'
import rules from '../rule'
import { isEmptyValue } from '../util'
const ENUM = 'enum' as const
const enumerable: ExecuteValidator = (rule, value, callback, source, options) => {
const errors: string[] = []
const validate =
rule.required || (!rule.required && source.hasOwnProperty(rule.field))
if (validate) {
if (isEmptyValue(value) && !rule.required) {
return callback()
}
rules.required(rule, value, source, errors, options)
if (value !== undefined) {
rules[ENUM](rule, value, source, errors, options)
}
}
callback(errors)
}
export default enumerable