formact
Advanced tools
Comparing version 2.0.2 to 2.0.3
@@ -36,3 +36,4 @@ "use strict"; | ||
}, | ||
setDirty: function setDirty() {} | ||
setDirty: function setDirty() {}, | ||
setError: function setError() {} | ||
}); | ||
@@ -53,2 +54,6 @@ | ||
if (newstate.forcedErrors[key]) { | ||
fieldErrors = fieldErrors + ' ' + newstate.forcedErrors[key]; | ||
} | ||
errors[key] = fieldErrors; | ||
@@ -68,3 +73,3 @@ | ||
var reducer = function reducer(state, action) { | ||
var _objectSpread4, _objectSpread5, _objectSpread6, _objectSpread7; | ||
var _objectSpread4, _objectSpread5, _objectSpread6, _objectSpread7, _objectSpread8; | ||
@@ -129,2 +134,8 @@ var newState = {}; | ||
case 'SET_ERROR': | ||
newState = _objectSpread({}, state, { | ||
forcedErrors: _objectSpread({}, state.forcedErrors, (_objectSpread8 = {}, _objectSpread8[action.payload.field] = action.payload.message, _objectSpread8)) | ||
}); | ||
break; | ||
default: | ||
@@ -153,2 +164,3 @@ newState = state; | ||
dirty: {}, | ||
forcedErrors: {}, | ||
values: initialValue, | ||
@@ -219,2 +231,12 @@ valid: true | ||
var setError = function setError(field, message) { | ||
action({ | ||
type: 'SET_ERROR', | ||
payload: { | ||
field: field, | ||
message: message | ||
} | ||
}); | ||
}; | ||
return _objectSpread({}, state, { | ||
@@ -228,3 +250,4 @@ getValue: getValue, | ||
setDirty: setDirty, | ||
clear: clear | ||
clear: clear, | ||
setError: setError | ||
}); | ||
@@ -231,0 +254,0 @@ }; |
{ | ||
"name": "formact", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "Context for React form components with validation", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -42,2 +42,3 @@ // @flow | ||
clear: () => any, | ||
setError: (field: string, message: string) => any, | ||
} | ||
@@ -60,2 +61,3 @@ | ||
setDirty: () => {}, | ||
setError: () => {}, | ||
}) | ||
@@ -68,2 +70,3 @@ | ||
dirty: Object, | ||
forcedErrors: Object, | ||
valid: boolean, | ||
@@ -99,2 +102,10 @@ } | ||
type SetError = { | ||
type: 'SET_ERROR', | ||
payload: { | ||
field: string, | ||
message?: string, | ||
}, | ||
} | ||
type ClearAction = { | ||
@@ -110,2 +121,3 @@ type: 'CLEAR', | ||
| SetDirty | ||
| SetError | ||
@@ -126,2 +138,6 @@ const validate = (newstate) => { | ||
if (newstate.forcedErrors[key]) { | ||
fieldErrors = fieldErrors + ' ' + newstate.forcedErrors[key] | ||
} | ||
errors[key] = fieldErrors | ||
@@ -201,2 +217,14 @@ if (valid && fieldErrors) { | ||
break | ||
case 'SET_ERROR': | ||
newState = { | ||
...state, | ||
forcedErrors: { | ||
...state.forcedErrors, | ||
[action.payload.field]: action.payload.message, | ||
}, | ||
} | ||
break | ||
default: | ||
@@ -219,2 +247,3 @@ newState = state | ||
dirty: {}, | ||
forcedErrors: {}, | ||
values: initialValue, | ||
@@ -282,2 +311,12 @@ valid: true, | ||
const setError = (field: string, message?: string) => { | ||
action({ | ||
type: 'SET_ERROR', | ||
payload: { | ||
field, | ||
message, | ||
}, | ||
}) | ||
} | ||
return { | ||
@@ -293,2 +332,3 @@ ...state, | ||
clear, | ||
setError, | ||
} | ||
@@ -295,0 +335,0 @@ } |
Sorry, the diff of this file is not supported yet
31279
747