Size: a a a

Elm Lang сообщество разработчиков

2017 December 05

I

Igor in Elm Lang сообщество разработчиков
Я правильно понимаю, по этому примеру http://elm-lang.org/examples/form
что “делать валидацию в view это норма” (по крайней мере пока она pure)?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Лучше в update, конечно
источник

I

Igor in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Лучше в update, конечно
А есть пример кода? А то я не понимаю, как это сделать “красиво”.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
На голом elm-html у меня примера нет, но в среднем это выглядит так:
raw input попадает в update, там решается, валидно ли значение, если валидно, то кладём в соседнее поле в Maybe. View смотрит, если в поле с валидированным значением не Just, то красит инпут в красный
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
а как тогда отличается невалидное/пустое?
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
какой-нибудь FieldState FieldValue (Maybe ValidationMessage) не логичнее будет?
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
ну или вроде того
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
type Model = Model
 { input :: String
 , value :: Maybe Int
 }
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
если инпут пустой, то будет Model "" Nothing
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
если непустой, но не валидный, то Model "foo" Nothing
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
а, с двумя - да. но так-то логичнее уж свой тип тогда
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
ну я бы сделал что-то вроде type FieldState a = FieldState String (Maybe a)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Достаточно простой пары в целом - для этого конкретного случая.
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
ну в форме редко одно поле
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
если ты про (,)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
type alias FieldState a = (String, Maybe a)
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
но это уже больше похоже на предпочтения :D
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
источник

I

Igor in Elm Lang сообщество разработчиков
О да… комбинаторы
источник