UNPKG

redux-form-validators

Version:

Simple validations with redux-form / react-final-form

60 lines (51 loc) 1.77 kB
"use strict"; 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;