Как установить ошибку в массиве response-final-form

У меня есть некоторые проблемы с ошибками в реакции-окончательной форме. Я не знаю, как установить ошибку в массиве. Может ли кто-нибудь дать мне пример по этому поводу? Благодарю.

Просто установите проверку для этого примера. https://codesandbox.io/s/kx8qv67nk5

2 ответа

Решение

Вы можете добавить валидатор непосредственно в поле (в его свойстве validate), и это будет применено к конкретному элементу поля в массиве. Например, с валидатором с именем 'required', как в этом примере

const required = value => (value ? undefined : "Required"); 

Тогда поле будет выглядеть так с возможностью доступа к метаданным с любыми ошибками проверки.

<Field 
     name={`${name}.firstName`}
     validate={ required }
     render={({ input, meta }) => (
       <div>
         <input {...input} />
         {meta.touched && meta.error && <span>{meta.error}</span>}
       </div>
     )} 
/>

Рабочий пример:

https://codesandbox.io/s/y3w6yo8xr9

Вы можете добавить проверку перед отправкой и после отправки, как это https://codesandbox.io/s/8xkn4r10m8

Другие вопросы по тегам