1.0.1 • Published 2 years ago

@che-ins/form v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

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 и отвалидировать её, показав все ошибки