redux-form-validators
Version:
Simple validations with redux-form / react-final-form
40 lines (31 loc) • 1.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = addValidator;
var _messages = _interopRequireDefault(require("./messages"));
var _validators = _interopRequireDefault(require("./validators"));
var _helpers = require("./helpers");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function addValidator(_ref) {
var validator = _ref.validator,
defaultMessage = _ref.defaultMessage,
defaultMsg = _ref.defaultMsg;
defaultMsg = (0, _helpers.toObjectMsg)(defaultMsg || defaultMessage) || _messages["default"].invalid;
return (0, _helpers.memoize)(function () {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var msg = (0, _helpers.toObjectMsg)(options.msg || options.message) || defaultMsg;
return (0, _helpers.prepare)(options["if"], options.unless, options.allowBlank, function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var result = validator.apply(void 0, [options].concat(args));
if (typeof result !== 'boolean') {
return result ? _validators["default"].formatMessage(result) : null;
}
if (!result) {
return _validators["default"].formatMessage(msg);
}
});
});
}
;