choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
54 lines (42 loc) • 1.79 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = valueMissing;
var _mobx = require("mobx");
var _isEmpty = _interopRequireDefault(require("../../_util/isEmpty"));
var _ValidationResult = _interopRequireDefault(require("../ValidationResult"));
var _localeContext = require("../../locale-context");
var _formatReactTemplate = _interopRequireDefault(require("../../formatter/formatReactTemplate"));
function isEmptyArray(value) {
return (0, _isEmpty["default"])(value) || (0, _mobx.isArrayLike)(value) && (value.length === 0 || value.every(function (item) {
return isEmptyArray(item);
}));
}
function valueMissing(value, props) {
var required = props.required,
label = props.label,
multiple = props.multiple,
range = props.range,
defaultValidationMessages = props.defaultValidationMessages;
if (required && (isEmptyArray(value) || multiple && range && value.every(function (item) {
return isEmptyArray(item);
}))) {
var injectionOptions = {
label: label
};
var key = label ? 'value_missing' : 'value_missing_no_label';
var ruleName = label ? 'valueMissing' : 'valueMissingNoLabel';
var _defaultValidationMes = defaultValidationMessages[ruleName],
validationMessage = _defaultValidationMes === void 0 ? (0, _localeContext.$l)('Validator', key) : _defaultValidationMes;
return new _ValidationResult["default"]({
validationMessage: (0, _formatReactTemplate["default"])(validationMessage, injectionOptions),
injectionOptions: injectionOptions,
value: value,
ruleName: ruleName
});
}
return true;
}
//# sourceMappingURL=valueMissing.js.map