UNPKG

@uiw-admin/components

Version:
77 lines (76 loc) 2.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.validator = exports.getRules = void 0; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); /** * 1. 必填 空字符/空数组/null/undefined/{} * * **/ var validatorEmpty = function 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; }; var validator = function validator(values, rules) { var error = {}; Object.entries(rules).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2["default"])(_ref, 2), key = _ref2[0], ruleItems = _ref2[1]; if (ruleItems) { var value = values[key]; var fileRulesError = ruleItems.map(function (rule) { if (typeof rule === 'function') { return rule(value); } if (rule && (0, _typeof2["default"])(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; }; exports.validator = validator; var getRules = function getRules(fields) { var validatorrules = {}; Object.entries(fields || {}).map(function (_ref3) { var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2), key = _ref4[0], item = _ref4[1]; if (item.rules) { validatorrules[key] = item.rules; } }); return validatorrules; }; exports.getRules = getRules;