choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
41 lines (36 loc) • 1.44 kB
JavaScript
import { isArrayLike } from 'mobx';
import isEmpty from '../../_util/isEmpty';
import ValidationResult from '../ValidationResult';
import { $l } from '../../locale-context';
import formatReactTemplate from '../../formatter/formatReactTemplate';
function isEmptyArray(value) {
return isEmpty(value) || isArrayLike(value) && (value.length === 0 || value.every(function (item) {
return isEmptyArray(item);
}));
}
export default 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 ? $l('Validator', key) : _defaultValidationMes;
return new ValidationResult({
validationMessage: formatReactTemplate(validationMessage, injectionOptions),
injectionOptions: injectionOptions,
value: value,
ruleName: ruleName
});
}
return true;
}
//# sourceMappingURL=valueMissing.js.map