@react_js

Страница 456 из 5115
Vadim
10.09.2016
14:25:14
Народ, кто юзал react-formal? Там есть возможность валидировать каждый отдельный инпут по keyUp, например?

В смысле, не всю форму разом, а отдельные инпуты по мере ввода текста?

А то документация у них никакая

У меня просто в проекте валидируются отдельные инпуты при редактировании. Вот я и думаю, имеет ли смысл связываться с react-formal?

Google
Vladimir
10.09.2016
14:33:13
Я думаю, с этими штуками вообще не имеет смысла связываться

Учитывая, как просто в реакте делать валидацию

Vadim
10.09.2016
14:33:43
Тоже есть такое подозрение и опасение )

Да, в реакте делать валидацию просто. Но минус стандартного подхода (у меня), что для каждого инпута делается экшн-креэйтор, редьюсер, и еще пишется код валидации в мидлваре (я лично юзаю redux-observable, но это не принципиально). В итоге проект обрастает большим колличеством кода. А вот библиотеки типа react-formal предлагают очень удобное описание всей формы на основе схемы. Это более наглядно. Но вот можно ли там валидировать отдельные поля?

К тому же, конкретно в моем случае валидация некоторых инпутов происходит сперва локальная, а потом удаленная (например для ввода емейла сперва локально проверяется его валидность, а затем удаленно наличие в базе такого же емейла)

И вот можно ли при таких задачах использовать react-formal?

Vadim
10.09.2016
14:40:44
Мне кажется, это какой-то оверинженеринг
А как бы вы при этом реализовали валидацию поля во время его редактирования?

Если есть такая задача

Это же обычная ситуация, когда ты только ввел, например, логин при регистрации, а тебе говорят, что такое имя уже занято

Еще до того, как ты засабмитил ВСЮ форму

Google
Vladimir
10.09.2016
14:43:27
Я бы сделал один единственный экшн FORM_CHANGE, значения формы держал бы в редуксе

Vadim
10.09.2016
14:44:13
Я говорю о ситуации, когда ЗАКАЗЧИК предоставил требование валидировать каждый инпут в отдельности )

Vladimir
10.09.2016
14:44:21
Да понятно

Vadim
10.09.2016
14:45:05
А, в смысле, вы предлагаете валидировать всю форму при каждом keyUp?

Ну или так или иначе, вызывать этот экшн при нажатии keyUp?

В принципе, об этом можно подумать...

Vladimir
10.09.2016
14:46:50
Да

Vadim
10.09.2016
14:47:17
Спасибо за наводку! )

Vladimir
10.09.2016
14:48:26
Я за телефоном, не могу много кода, но идея такая - все изменения пустить через одно место, заполнять или очищать переменную errors

Vadim
10.09.2016
14:49:28
Ну ошибки-то в моем случае должны выводиться под конкретными полями, к которым они относятся, но это можно обдумать

Vladimir
10.09.2016
14:51:16
Errors:{ name: 'это поле должно быть заполнено', system: 'ошибка сервера'}

Sergey
10.09.2016
16:25:16
Кто-то сейчас юзает react- transmit?

from
10.09.2016
19:46:46
А как бы вы при этом реализовали валидацию поля во время его редактирования?
<input type="text" onChange={this.handleChange} /> в хэндлере: handleChange(evt) { this.setState({ errors: { ...this.state.errors, [evt.target.name]: evt.target.willValidate, }, }); }

Anton
10.09.2016
19:52:11
Ребят, чет я не пойму почему moment.js format('MMM') возвращает не September, а 099

oO

сталкивался кто?

from
10.09.2016
19:52:39
а тебе нужно 099? :))

ой, прочитал неверно

Сорри, нет. Должна быть краткая форма

Anton
10.09.2016
19:54:10
вот такая ерунда

Google
Anton
10.09.2016
19:54:10
а MMM должен ‘Sep’

Так он выводит мне вовсе 099

а есть полный код?

moment(p.date).format("MMM")

Lupsick
10.09.2016
20:08:44
как сделать чтобы вебпак инклудил мои стили выше всех?

Roman
10.09.2016
20:09:56
И вот можно ли при таких задачах использовать react-formal?
можно и нужно, в моих формах происходит вначале локальная валидация инпутов на debounce onchange потом еще и апи может ругнуться на ошибку валидации и в обоих случаях надо конкретное поле подсветить и показать текст ошибки

Alexander
11.09.2016
08:51:48
Есть чат по React совсем для пней?

Ilya
11.09.2016
08:54:16
Vasiliy
11.09.2016
08:54:28
это он и есть

Alexander
11.09.2016
09:00:42
Спасибо. Мне просто объяснить концепцию. Что умеет сервер. Отвечать на запросы состояния, включать/выключать свои задания и 3-party oAuth. Что-то я сомневаюсь, что это все можно запихнуть в один компонент. Да и пользователю видеть все в один момент не нужно. Плюс, есть желание не нагружать сервер в тот момент, когда вкладка браузера не нагружена. Как я себе это представляю. Нужен общий модуль на сервере для авторизованных запросов и модуль видимости вкладки на клиенте. Через что лучше добавить эти фичи в два компонента: мониторинг сервиса и панель команд пользоваиеля?

Если бы это был ангуляр, я б двумя сервисами в одно аппе обошелся бы.

Aleh
11.09.2016
09:02:36
компоненты они для view

Aleh
11.09.2016
09:02:53
ну типа как компоненты\директивы в angular1.5

Alexander
11.09.2016
09:03:28
А, т.е. вообще не надо в них функционал заливать? Только view действия?

Aleh
11.09.2016
09:04:14
ну да, как организовать всякие сервисы и прочее в реакте разные подходы есть

redux/mobx тут что больше нравится

Alexander
11.09.2016
09:05:35
Вот мне про самый простой подход. Например, общий сервис на запрос состояния. Он опрашивает сервер, меняет состояние приложения и view сама меняется. Так выходит?

Ок, теперь дошло. Блин, век живи - век учись.

Aleh
11.09.2016
09:06:11
view сама не меняется, ей надо сообщить, что что-то изменилось

Admin
ERROR: S client not available

Google
Aleh
11.09.2016
09:06:36
с этим могут помочь как раз react-redux или чето там у mobx(это больше похоже на ангуляровское будет)

Alexander
11.09.2016
09:06:58
Ага, спасибо.

Vadim
11.09.2016
10:56:44
можно и нужно, в моих формах происходит вначале локальная валидация инпутов на debounce onchange потом еще и апи может ругнуться на ошибку валидации и в обоих случаях надо конкретное поле подсветить и показать текст ошибки
А можно ли в react-formal выполнять удаленную валидацию ТОЛЬКО в случае если нет ошибок локальной валидации? Просто что б уменьшить число запросов к серверу?

Я просто пока не понял, есть ли там возможность в обработчике onChange формы получить ошибки локальной валидации?

-

-

Roman
11.09.2016
11:52:53
Если тебе нужно в onChange получить статус валидации текущих значений ты всегда можешь сделать scheme.validate(currFormValues, ...).then(...).catch(...)

Dmitry
11.09.2016
14:44:27
-
Тут ты можешь удалять сообщения

Aleh
11.09.2016
15:03:38
я бы хотел скинуть ссылку в гитхабе на файл, но слишком трезв, чтобы его там найти(
https://github.com/facebook/react/blob/master/src/renderers/shared/stack/reconciler/ReactHostComponent.js#L18

Котяй Негодяй
11.09.2016
15:48:34
Есть два стейтлес компонента. Один является родителем другого. При выполнении дочернего компонента мне нужно получить ширину родителя и, в соответствии с ней, скорректировать ширину DOM-елемента дочернего компонента. Вопрос в том, существует ли DOM-елемент родителя в момент выполнения дочернего компонента? И, если да, то как его получить? Если же нет, то мне остаётся вешать обработчик, который запустится после отрисовки всей цепочки компонентов? Куда его, в таком случае, вешать?

Oleg
11.09.2016
15:50:25
в родителе делаешь ref, передаешь его ширину как проперти дочернему

Котяй Негодяй
11.09.2016
15:51:23
Oleg
11.09.2016
15:51:49
https://facebook.github.io/react/docs/more-about-refs.html

Котяй Негодяй
11.09.2016
15:53:29
Dmitry
11.09.2016
16:53:31
Парни, а по ноде есть такой же чатик, кто нибудь знает?

Ilya
11.09.2016
16:54:04
@nodejs_ru

Dmitry
11.09.2016
16:54:44
Спасибо!

Google
Котяй Негодяй
11.09.2016
17:39:33
ReactDOM.findDOMNode(this).parentNode в componentDidMount у childa, рефы не нужны
Оба стейтлес. componentDidMount() — метод класса.

Konstantin
11.09.2016
17:40:49
Без лайфцайкла не выйдет

Котяй Негодяй
11.09.2016
17:41:32
Вот здесь непонятно.

Konstantin
11.09.2016
17:41:44
Размер ты сможешь получить только когда компонент будет отрендерен

Котяй Негодяй
11.09.2016
17:41:46
Flux же однозначно подразумевает стейтлес?

Konstantin
11.09.2016
17:42:04
Flux то тут при чем?

Страница 456 из 5115