UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

54 lines (40 loc) 1.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = patternMismatch; var _isRegExp = _interopRequireDefault(require("lodash/isRegExp")); var _utils = require("../../utils"); var _ValidationResult = _interopRequireDefault(require("../ValidationResult")); var _localeContext = require("../../locale-context"); function generatePattern(pattern) { if ((0, _isRegExp["default"])(pattern)) { pattern.lastIndex = 0; return pattern; } var begin = pattern.startsWith('^') ? '' : '^'; var end = pattern.endsWith('$') ? '' : '$'; return new RegExp("".concat(begin).concat(pattern).concat(end)); } function patternMismatch(value, _, getProp) { if (!(0, _utils.isEmpty)(value)) { var pattern = getProp('pattern'); if (pattern && !generatePattern(pattern).test(value)) { var ruleName = 'patternMismatch'; var _ref = getProp('defaultValidationMessages') || {}, _ref$ruleName = _ref[ruleName], validationMessage = _ref$ruleName === void 0 ? (0, _localeContext.$l)('Validator', 'pattern_mismatch') : _ref$ruleName; return new _ValidationResult["default"]({ validationProps: { pattern: pattern }, validationMessage: validationMessage, value: value, ruleName: ruleName }); } } return true; } //# sourceMappingURL=patternMismatch.js.map