UNPKG

@ant-basement/core

Version:

Ant Basement JavaScript SDK Core

49 lines 4.49 kB
import Parameter from 'parameter'; import { rules } from './rules'; import { BasementClientError } from '../error'; import { ErrorName, ErrorType, ErrorCode } from '../constant'; var Validator = (function () { function Validator(options) { this.p = new Parameter(options); for (var _i = 0, _a = Object.keys(rules); _i < _a.length; _i++) { var ruleName = _a[_i]; var name_1 = ruleName.match(/ruleOf([a-zA-Z]+)/)[1]; this.p.addRule(name_1[0].toLowerCase() + name_1.slice(1), rules[ruleName]); } } Validator.prototype.validate = function (rules, obj) { if (typeof obj !== 'object' && typeof rules === 'string') { obj = { field: obj }; rules = { field: rules }; } var message = this.p.validate(rules, obj); if (!message) { return null; } var result = message.map(function (mistake) { if (mistake.field) { var target = JSON.parse(JSON.stringify(obj)); var fields = mistake.field.match(/[^\.\[\]]+/g); while (fields.length) { var field = fields.shift(); if (!target.hasOwnProperty(field)) { break; } target = target[field]; } mistake.value = target; } return mistake; }); function getMessage(result) { if (Array.isArray(result)) { return result.map(getMessage).join('; '); } return result.field + " " + result.message; } throw new BasementClientError(ErrorName.VALIDATION_ERROR, ErrorCode.VALIDATION_FAILED, ErrorType.COMMON_ERROR, getMessage(result)); }; return Validator; }()); export { Validator }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdHkvdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQ7SUFFRSxtQkFBWSxPQUE0QjtRQUN0QyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhDLEtBQXVCLFVBQWtCLEVBQWxCLEtBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBbEIsY0FBa0IsRUFBbEIsSUFBa0IsRUFBRTtZQUF0QyxJQUFNLFFBQVEsU0FBQTtZQUVqQixJQUFNLE1BQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE1BQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBUU0sNEJBQVEsR0FBZixVQUFnQixLQUFVLEVBQUUsR0FBUTtRQUVsQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDeEQsR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMxQjtRQUVELElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7U0FDYjtRQUdELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxPQUFPO1lBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUVsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ3BCLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ2pDLE1BQU07cUJBQ1A7b0JBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDeEI7Z0JBRUQsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7YUFDeEI7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUVILFNBQVMsVUFBVSxDQUFDLE1BQU07WUFDeEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN6QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFDO1lBRUQsT0FBVSxNQUFNLENBQUMsS0FBSyxTQUFJLE1BQU0sQ0FBQyxPQUFTLENBQUM7UUFDN0MsQ0FBQztRQUVELE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsU0FBUyxDQUFDLGdCQUFnQixFQUMxQixTQUFTLENBQUMsaUJBQWlCLEVBQzNCLFNBQVMsQ0FBQyxZQUFZLEVBQ3RCLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUFsRUQsSUFrRUMifQ==