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 :: String -> Form T.Text T.Text
input label = input label =
Form 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 -> { view = \i ->
[ div_ [] $ [ div_ [] $
[ label_ [] $ [ label_ [] $
[ text (toMisoString label), [ text (toMisoString label),
input_ div_ [] $
[ input_
[ type_ "text", [ type_ "text",
value_ (toMisoString i), value_ (toMisoString i),
onInput fromMisoString onInput fromMisoString
],
div_ [] $
[either (text . toMisoString) (\_ -> text "") (parse i)]
] ]
] ]
] ]
], ],
fill = \i -> Right i fill = parse
} }