redux-form-validators
Version:
Simple validations with redux-form / react-final-form
101 lines (86 loc) • 3.43 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 numericality = (0, _helpers.memoize)(function () {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_int = _ref["int"],
integer = _ref.integer,
even = _ref.even,
odd = _ref.odd,
equal = _ref['='],
equalTo = _ref.equalTo,
diff = _ref['!='],
otherThan = _ref.otherThan,
greater = _ref['>'],
greaterThan = _ref.greaterThan,
less = _ref['<'],
lessThan = _ref.lessThan,
greaterOrEqual = _ref['>='],
greaterThanOrEqualTo = _ref.greaterThanOrEqualTo,
lessOrEqual = _ref['<='],
lessThanOrEqualTo = _ref.lessThanOrEqualTo,
message = _ref.message,
msg = _ref.msg,
ifCond = _ref["if"],
unless = _ref.unless,
allowBlank = _ref.allowBlank;
msg = msg || message;
_int = _int || integer;
equal = (0, _helpers.selectNum)(equal, equalTo);
diff = (0, _helpers.selectNum)(diff, otherThan);
greater = (0, _helpers.selectNum)(greater, greaterThan);
greaterOrEqual = (0, _helpers.selectNum)(greaterOrEqual, greaterThanOrEqualTo);
less = (0, _helpers.selectNum)(less, lessThan);
lessOrEqual = (0, _helpers.selectNum)(lessOrEqual, lessThanOrEqualTo);
return (0, _helpers.prepare)(ifCond, unless, allowBlank, function (value) {
if (!(0, _helpers.isNumber)(value)) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'notANumber', 'NaN'));
}
if (_int && +value % 1) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'notAnInteger', 'int'));
}
if (equal !== null && +value !== equal) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'equalTo', '=', {
count: equal
}));
}
if (diff !== null && +value === diff) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'otherThan', '!=', {
count: diff
}));
}
if (greater !== null && +value <= greater) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'greaterThan', '>', {
count: greater
}));
}
if (greaterOrEqual !== null && +value < greaterOrEqual) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'greaterThanOrEqualTo', '>=', {
count: greaterOrEqual
}));
}
if (less !== null && +value >= less) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'lessThan', '<', {
count: less
}));
}
if (lessOrEqual !== null && +value > lessOrEqual) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'lessThanOrEqualTo', '<=', {
count: lessOrEqual
}));
}
if (even && (0, _helpers.trunc)(+value) % 2) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'even'));
}
if (odd && !((0, _helpers.trunc)(+value) % 2)) {
return _validators["default"].formatMessage((0, _helpers.prepareMsg)(msg, 'odd'));
}
});
});
var _default = numericality;
exports["default"] = _default;
;