UNPKG

@uiw-admin/components

Version:
62 lines 1.51 kB
/** * 1. 必填 空字符/空数组/null/undefined/{} * * **/ var validatorEmpty = value => { if (typeof value === 'number') { return true; } if (typeof value === 'string') { return !!value; } if (Array.isArray(value)) { return !!value.length; } if (typeof value === 'function') { return true; } if (typeof value === 'boolean') { return true; } if (Object.prototype.toString.call(value) === '[object Object]') { return !!Object.keys(value).length; } return !!value; }; export var validator = (values, rules) => { var error = {}; Object.entries(rules).forEach(_ref => { var [key, ruleItems] = _ref; if (ruleItems) { var value = values[key]; var fileRulesError = ruleItems.map(rule => { if (typeof rule === 'function') { return rule(value); } if (rule && typeof rule === 'object') { if (rule.required && !validatorEmpty(value)) { return rule.message; } if (rule.pattern instanceof RegExp) { return rule.pattern.test(value); } } return false; }).filter(Boolean); if (fileRulesError.length) { error[key] = fileRulesError; } } }); return error; }; export var getRules = fields => { var validatorrules = {}; Object.entries(fields || {}).map(_ref2 => { var [key, item] = _ref2; if (item.rules) { validatorrules[key] = item.rules; } }); return validatorrules; };