choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
33 lines (27 loc) • 1.06 kB
JavaScript
import isEmpty from '../../_util/isEmpty';
import ValidationResult from '../ValidationResult';
import { $l } from '../../locale-context';
function generatePattern(pattern) {
if (pattern instanceof RegExp) {
return pattern;
}
var begin = pattern.startsWith('^') ? '' : '^';
var end = pattern.endsWith('$') ? '' : '$';
return new RegExp("".concat(begin).concat(pattern).concat(end));
}
export default function patternMismatch(value, props) {
var pattern = props.pattern,
defaultValidationMessages = props.defaultValidationMessages;
if (!isEmpty(value) && !!pattern && !generatePattern(pattern).test(value)) {
var ruleName = 'patternMismatch';
var _defaultValidationMes = defaultValidationMessages[ruleName],
validationMessage = _defaultValidationMes === void 0 ? $l('Validator', 'pattern_mismatch') : _defaultValidationMes;
return new ValidationResult({
validationMessage: validationMessage,
value: value,
ruleName: ruleName
});
}
return true;
}
//# sourceMappingURL=patternMismatch.js.map