UNPKG

redux-form

Version:

A higher order component decorator for forms using Redux and React

42 lines (34 loc) 1.32 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _hasError = require('../hasError'); var _hasError2 = _interopRequireDefault(_hasError); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var createIsValid = function createIsValid(structure) { var getIn = structure.getIn; var hasError = (0, _hasError2.default)(structure); return function (form) { var getFormState = arguments.length <= 1 || arguments[1] === undefined ? function (state) { return getIn(state, 'form'); } : arguments[1]; return function (state) { var formState = getFormState(state); var error = getIn(formState, form + '.error'); if (error) { return false; } var syncErrors = getIn(formState, form + '.syncErrors'); var asyncErrors = getIn(formState, form + '.asyncErrors'); var submitErrors = getIn(formState, form + '.submitErrors'); if (!syncErrors && !asyncErrors && !submitErrors) { return true; } var registeredFields = getIn(formState, form + '.registeredFields') || []; return !registeredFields.some(function (field) { return hasError(field, syncErrors, asyncErrors, submitErrors); }); }; }; }; exports.default = createIsValid;