@Tpyn666

Как не нарушить концепцию flux делая валидацию формы на серверной стороне?

Во FLUX все данные должны ходит только в одном направление [ компонент ] -> [ диспечер ] -> [ хранилище ] -> [ новые данные в компонент]
У меня простая задача. Есть форма редактирование заказа и список заказов.
Цикл простой: заполняем форму, нажимаем добавить -> [событие: создать заказ] -> диспечер перенаправляет его в хранилище заказов -> [событие в харнилище об изменениях] -> перерендер списка заказов.
Все просто и все рабоате.
А теперь усложним, нам нужно проваледировать форму заказа на сервере. Когда форма создала событие об добавление заказа событие перехватывает WebAPI и отправляет его на сервер и если все хорошо потом событие уходит в диспечер и в хранилище. А вот если все плохо и данные не валидны как об этом сообщить компоненту формы ? В мести с событием передавать callback чтоб вернуться при ошибки обратно в форму тогда данные уже не в одном направление ходят.
  • Вопрос задан
  • 355 просмотров
Решения вопроса 1
Laiff
@Laiff
Front-end developer
Для решения этого используется нечто для управления формами, которое содержит данные по форме и статусы валидации, например можно посмотреть на
https://github.com/christianalfoni/formsy-react
https://github.com/erikras/redux-form
Последний как по мне более интересен
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Решение простое - рядом с данными заказа в store хранить еще и данные об ошибках по этому заказу. Если api вернуло ошибки валидации то сохранить их в store (это вызовет перерисовку компонента и ввывод ошибок). При деинициализации компонента, а так же при успешном выполнении вызова к api - чистить ошибки в store.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы