Я пытаюсь отобразить встроенные ошибки, возвращаемые через API, для каждого недопустимого поля. Я следую примеру ошибок отправки из здесь с что-то вроде этого:
const handleSubmit = async (values) => {
let errors;
await createProduct(values) // axios.post(...)
.then((res) => ...)
.catch((error) => {
errors = error.response.data.errors;
console.log(errors); // returns { title: ["can't be blank"] }
});
return errors; // returns { title: ["can't be blank"] }
}
тогда моя форма выглядит так:
<Form onSubmit={handleSubmit}>
{({
submitError,
handleSubmit,
...
}) => (
<BSForm onSubmit={handleSubmit}> // BSForm for boostrapform
{submitError && (
<div className="error">{submitError}</div> // not showing
)}
{console.log(submitError)} // returns 'undefined'
<TextField
name="title"
...
/>
и я могу вызвать submitError
, только если я передаю {[FORM_ERROR]: 'error message'}
вместо того, чтобы возвращать errors
obj.
Я бы хотел иметь возможность просто передавать эти ошибки API в meta: { error }
реквизиты соответствующих полей, но я вполне могу жить с submitError
ошибками API упаковки.