redux-form-validators
Version:
Simple validations with redux-form / react-final-form
60 lines (51 loc) • 1.77 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _validators = _interopRequireDefault(require("./validators"));
var _helpers = require("./helpers");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var length = (0, _helpers.memoize)(function (_ref) {
var equal = _ref['='],
is = _ref.is,
max = _ref.max,
maximum = _ref.maximum,
min = _ref.min,
minimum = _ref.minimum,
range = _ref["in"],
within = _ref.within,
message = _ref.message,
msg = _ref.msg,
ifCond = _ref["if"],
unless = _ref.unless,
allowBlank = _ref.allowBlank;
msg = msg || message;
equal = (0, _helpers.selectNum)(equal, is);
min = (0, _helpers.selectNum)(min, minimum);
max = (0, _helpers.selectNum)(max, maximum);
range = range || within;
if (range && (0, _helpers.isNumber)(range[0]) && (0, _helpers.isNumber)(range[1])) {
min = range[0];
max = range[1];
}
return (0, _helpers.prepare)(ifCond, unless, allowBlank, function (value) {
if (equal !== null && value.length !== equal) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'wrongLength', 'is', '=', {
count: equal
}));
}
if (max !== null && value.length > max) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'tooLong', 'maximum', 'max', {
count: max
}));
}
if (min !== null && value.length < min) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'tooShort', 'minimum', 'min', {
count: min
}));
}
});
});
var _default = length;
exports["default"] = _default;
;