require strings to be non-empty

This commit is contained in:
Alexander Foremny
2024-06-07 15:53:01 +02:00
parent 378e007141
commit 79dd6af899

View File

@@ -10,18 +10,26 @@ import Miso.String (fromMisoString, toMisoString)
input :: String -> Form T.Text T.Text
input label =
Form
{ view = \i ->
[ div_ [] $
[ label_ [] $
[ text (toMisoString label),
input_
[ type_ "text",
value_ (toMisoString i),
onInput fromMisoString
let parse :: T.Text -> Either String T.Text
parse i =
let i' = T.strip i
in if T.null i' then Left "required" else Right i'
in Form
{ view = \i ->
[ div_ [] $
[ label_ [] $
[ text (toMisoString label),
div_ [] $
[ input_
[ type_ "text",
value_ (toMisoString i),
onInput fromMisoString
],
div_ [] $
[either (text . toMisoString) (\_ -> text "") (parse i)]
]
]
]
]
],
fill = \i -> Right i
}
],
fill = parse
}