handle validation error data object to display field level error messages

This commit is contained in:
Dan Ribbens
2020-10-22 16:44:25 -04:00
parent 0aa2e5138c
commit e9600802a8

View File

@@ -201,7 +201,12 @@ const Form = (props) => {
}
if (Array.isArray(json.errors)) {
const [fieldErrors, nonFieldErrors] = json.errors.reduce(([fieldErrs, nonFieldErrs], err) => (err.field && err.message ? [[...fieldErrs, err], nonFieldErrs] : [fieldErrs, [...nonFieldErrs, err]]), [[], []]);
const [fieldErrors, nonFieldErrors] = (errors) => errors.reduce(([fieldErrs, nonFieldErrs], err) => {
if (err.data) {
return [[...fieldErrs, ...err.data], [...nonFieldErrs, err]];
}
return [fieldErrs, [...nonFieldErrs, err]];
}, [[], []]);
fieldErrors.forEach((err) => {
dispatchFields({
@@ -219,13 +224,6 @@ const Form = (props) => {
});
});
if (fieldErrors.length > 0 && nonFieldErrors.length === 0) {
addStatus({
message: 'Please correct the fields below.',
type: 'error',
});
}
return json;
}