Safe Haskell | None |
---|---|
Language | Haskell98 |
Yesod.Form.Types
Contents
Synopsis
- data Enctype
- data FormResult a
- = FormMissing
- | FormFailure [Text]
- | FormSuccess a
- data FormMessage
- = MsgInvalidInteger Text
- | MsgInvalidNumber Text
- | MsgInvalidEntry Text
- | MsgInvalidUrl Text
- | MsgInvalidEmail Text
- | MsgInvalidTimeFormat
- | MsgInvalidHour Text
- | MsgInvalidMinute Text
- | MsgInvalidSecond Text
- | MsgInvalidDay
- | MsgCsrfWarning
- | MsgValueRequired
- | MsgInputNotFound Text
- | MsgSelectNone
- | MsgInvalidBool Text
- | MsgBoolYes
- | MsgBoolNo
- | MsgDelete
- type Env = Map Text [Text]
- type FileEnv = Map Text [FileInfo]
- data Ints
- type WForm m a = MForm (WriterT [FieldView (HandlerSite m)] m) a
- type MForm m a = RWST (Maybe (Env, FileEnv), HandlerSite m, [Lang]) Enctype Ints m a
- newtype AForm m a = AForm {}
- data Field m a = Field {
- fieldParse :: [Text] -> [FileInfo] -> m (Either (SomeMessage (HandlerSite m)) (Maybe a))
- fieldView :: FieldViewFunc m a
- fieldEnctype :: Enctype
- data FieldSettings master = FieldSettings {}
- data FieldView site = FieldView {}
- type FieldViewFunc m a = Text -> Text -> [(Text, Text)] -> Either Text a -> Bool -> WidgetFor (HandlerSite m) ()
Helpers
The encoding type required by a form. The ToHtml
instance produces values
that can be inserted directly into HTML.
Constructors
UrlEncoded | |
Multipart |
data FormResult a Source #
A form can produce three different results: there was no data available, the data was invalid, or there was a successful parse.
The Applicative
instance will concatenate the failure messages in two
FormResult
s.
The Alternative
instance will choose FormFailure
before FormSuccess
,
and FormMissing
last of all.
Constructors
FormMissing | |
FormFailure [Text] | |
FormSuccess a |
Instances
Functor FormResult Source # | |
Defined in Yesod.Form.Types | |
Applicative FormResult Source # | |
Defined in Yesod.Form.Types Methods pure :: a -> FormResult a (<*>) :: FormResult (a -> b) -> FormResult a -> FormResult b liftA2 :: (a -> b -> c) -> FormResult a -> FormResult b -> FormResult c (*>) :: FormResult a -> FormResult b -> FormResult b (<*) :: FormResult a -> FormResult b -> FormResult a | |
Foldable FormResult Source # | Since: 1.4.5 |
Defined in Yesod.Form.Types Methods fold :: Monoid m => FormResult m -> m foldMap :: Monoid m => (a -> m) -> FormResult a -> m foldMap' :: Monoid m => (a -> m) -> FormResult a -> m foldr :: (a -> b -> b) -> b -> FormResult a -> b foldr' :: (a -> b -> b) -> b -> FormResult a -> b foldl :: (b -> a -> b) -> b -> FormResult a -> b foldl' :: (b -> a -> b) -> b -> FormResult a -> b foldr1 :: (a -> a -> a) -> FormResult a -> a foldl1 :: (a -> a -> a) -> FormResult a -> a toList :: FormResult a -> [a] null :: FormResult a -> Bool length :: FormResult a -> Int elem :: Eq a => a -> FormResult a -> Bool maximum :: Ord a => FormResult a -> a minimum :: Ord a => FormResult a -> a sum :: Num a => FormResult a -> a product :: Num a => FormResult a -> a | |
Traversable FormResult Source # | Since: 1.4.5 |
Defined in Yesod.Form.Types Methods traverse :: Applicative f => (a -> f b) -> FormResult a -> f (FormResult b) sequenceA :: Applicative f => FormResult (f a) -> f (FormResult a) mapM :: Monad m => (a -> m b) -> FormResult a -> m (FormResult b) sequence :: Monad m => FormResult (m a) -> m (FormResult a) | |
Alternative FormResult Source # | Since: 1.4.15 |
Defined in Yesod.Form.Types Methods empty :: FormResult a (<|>) :: FormResult a -> FormResult a -> FormResult a some :: FormResult a -> FormResult [a] many :: FormResult a -> FormResult [a] | |
Eq a => Eq (FormResult a) Source # | |
Defined in Yesod.Form.Types | |
Show a => Show (FormResult a) Source # | |
Defined in Yesod.Form.Types Methods showsPrec :: Int -> FormResult a -> ShowS show :: FormResult a -> String showList :: [FormResult a] -> ShowS | |
Semigroup m => Semigroup (FormResult m) Source # | |
Defined in Yesod.Form.Types Methods (<>) :: FormResult m -> FormResult m -> FormResult m sconcat :: NonEmpty (FormResult m) -> FormResult m stimes :: Integral b => b -> FormResult m -> FormResult m | |
Monoid m => Monoid (FormResult m) Source # | |
Defined in Yesod.Form.Types Methods mempty :: FormResult m mappend :: FormResult m -> FormResult m -> FormResult m mconcat :: [FormResult m] -> FormResult m |
data FormMessage Source #
Constructors
MsgInvalidInteger Text | |
MsgInvalidNumber Text | |
MsgInvalidEntry Text | |
MsgInvalidUrl Text | |
MsgInvalidEmail Text | |
MsgInvalidTimeFormat | |
MsgInvalidHour Text | |
MsgInvalidMinute Text | |
MsgInvalidSecond Text | |
MsgInvalidDay | |
MsgCsrfWarning | |
MsgValueRequired | |
MsgInputNotFound Text | |
MsgSelectNone | |
MsgInvalidBool Text | |
MsgBoolYes | |
MsgBoolNo | |
MsgDelete |
Instances
Eq FormMessage Source # | |
Defined in Yesod.Form.Types | |
Read FormMessage Source # | |
Defined in Yesod.Form.Types Methods readsPrec :: Int -> ReadS FormMessage readList :: ReadS [FormMessage] readPrec :: ReadPrec FormMessage readListPrec :: ReadPrec [FormMessage] | |
Show FormMessage Source # | |
Defined in Yesod.Form.Types Methods showsPrec :: Int -> FormMessage -> ShowS show :: FormMessage -> String showList :: [FormMessage] -> ShowS |
Form
type WForm m a = MForm (WriterT [FieldView (HandlerSite m)] m) a Source #
MForm
variant stacking a WriterT
. The following code example using a
monadic form MForm
:
formToAForm $ do (field1F, field1V) <- mreq textField MsgField1 Nothing (field2F, field2V) <- mreq (checkWith field1F textField) MsgField2 Nothing (field3F, field3V) <- mreq (checkWith field1F textField) MsgField3 Nothing return ( MyForm <$> field1F <*> field2F <*> field3F , [field1V, field2V, field3V] )
Could be rewritten as follows using WForm
:
wFormToAForm $ do field1F <- wreq textField MsgField1 Nothing field2F <- wreq (checkWith field1F textField) MsgField2 Nothing field3F <- wreq (checkWith field1F textField) MsgField3 Nothing return $ MyForm <$> field1F <*> field2F <*> field3F
Since: 1.4.14
Constructors
AForm | |
Build forms
Constructors
Field | |
Fields
|
data FieldSettings master Source #
Constructors
FieldSettings | |
Instances
IsString (FieldSettings a) Source # | |
Defined in Yesod.Form.Types Methods fromString :: String -> FieldSettings a |
type FieldViewFunc m a Source #
Arguments
= Text | ID |
-> Text | Name |
-> [(Text, Text)] | Attributes |
-> Either Text a | Either (invalid text) or (legitimate result) |
-> Bool | Required? |
-> WidgetFor (HandlerSite m) () |