UNPKG

@txdfe/at

Version:

一个设计体系组件库

78 lines (59 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValidationMethod = getValidationMethod; exports.validateFunc = validateFunc; var _rules = _interopRequireDefault(require("./rules/")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /* eslint-disable callback-return */ /** * {required, format} => format; {required} => required * @param {function} validator [description] * @param {string} ruleType [description] * @return {function} [description] */ function validateFunc(validator, ruleType) { return function (rule, value, cb, options) { var errors = []; // 如果是非required校验 if (ruleType !== 'required') { var _errors = []; _rules["default"].required(rule, value, _errors, options); if (_errors.length > 0) { if ('required' in rule) { cb(_errors); } else { cb([]); //忽略空数据的判断 } return; } } validator(rule, value, errors, options); cb(errors); }; } /** * {required, format} => format; {required} => required * @param {object} rule [description] * @return {function} [description] */ function getValidationMethod(rule) { if (typeof rule.validator === 'function') { return rule.validator; } var keys = Object.keys(rule); //required和其他校验规则共存 //{required, format} {required, unknown} for (var i = 0; i < keys.length; i++) { var ruleType = keys[i]; if (ruleType === 'required') { continue; } if (ruleType in _rules["default"]) { return validateFunc(_rules["default"][ruleType], ruleType); } } // 有其他位置参数 if ('required' in rule) { return validateFunc(_rules["default"].required, 'required'); } return null; }