@che-ins/form v1.0.1
Form Component
Содержит 2 компонента - Form | FormField
Для работы необходимо добавить reducer
{ [FORMS_STATE_NAMESPACE]: formsReducer }
Form принимает formName, и в redux работает с объектом
<Form formName={BASE_FORM_NAME}>
{form}
</Form>
В большинстве случаев для использования компонентов ввода необходимо использовать HOC
Пропсы component
и name
обязательны, все остальные передаются к компоненту который передали
Компонент должен первым аргументом в функцию onChange
передавать новое значение
<FormField
component={Input}
name={'firstname'}
placeholder="Ivan"
label="Firstname"
/>
Ошибки показываются только полей на которых что либо вводили, т.н. toched, для того что бы избежать показа ошибок незаполненных полей на всей форме когда её только начали заполнять
Для переопределения этого поведения для конкретного поля необходимо сделать это поле touched в необходимый момент
dispatch(
formActions.setFieldTouched({
formName: formName,
name: fieldName,
isTouched: true,
})
)
Основной кейс использования - перед отправкой на сервер включить показ всех ошибок на форме setIsShowAllErrors и отвалидировать её, показав все ошибки
2 years ago