choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
52 lines (38 loc) • 1.42 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = customError;
var _isString = _interopRequireDefault(require("lodash/isString"));
var _isPromise = _interopRequireDefault(require("is-promise"));
var _ValidationResult = _interopRequireDefault(require("../ValidationResult"));
var _localeContext = require("../../locale-context");
function customError(value, props, getProp) {
var customValidator = getProp('customValidator');
if (typeof customValidator === 'function') {
var name = props.name,
record = props.record,
form = props.form;
var resultIfPromise = customValidator(value, name, record || form);
var call = function call(result) {
if ((0, _isString["default"])(result) || result === false) {
return new _ValidationResult["default"]({
validationProps: {
customValidator: customValidator
},
validationMessage: result || (0, _localeContext.$l)('Validator', 'unknown'),
value: value,
ruleName: 'customError'
});
}
return true;
};
if ((0, _isPromise["default"])(resultIfPromise)) {
return resultIfPromise.then(call);
}
return call(resultIfPromise);
}
return true;
}
//# sourceMappingURL=customError.js.map
;