choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
45 lines (39 loc) • 1.5 kB
JavaScript
import { isMoment } from 'moment';
import isNil from 'lodash/isNil';
import isEmpty from '../../_util/isEmpty';
import ValidationResult from '../ValidationResult';
import { $l } from '../../locale-context';
import { formatReactTemplate } from '../../formatter/formatReactTemplate';
import { toRangeValue } from '../../field/utils';
var isUnderflow = function isUnderflow(value, min, range) {
if (range) {
return toRangeValue(value, range).some(function (item) {
return !isEmpty(item) && Number(item) < Number(min);
});
}
return !isEmpty(value) && Number(value) < Number(min);
};
export default function rangeUnderflow(value, props) {
var min = props.min,
label = props.label,
format = props.format,
defaultValidationMessages = props.defaultValidationMessages,
range = props.range;
if (!isNil(min) && isUnderflow(value, min, range)) {
var injectionOptions = {
min: isMoment(min) ? min.format(format) : min,
label: label
};
var ruleName = 'rangeUnderflow';
var _defaultValidationMes = defaultValidationMessages[ruleName],
validationMessage = _defaultValidationMes === void 0 ? $l('Validator', 'range_underflow') : _defaultValidationMes;
return new ValidationResult({
validationMessage: formatReactTemplate(validationMessage, injectionOptions),
injectionOptions: injectionOptions,
value: value,
ruleName: ruleName
});
}
return true;
}
//# sourceMappingURL=rangeUnderflow.js.map