| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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
- | MsgInvalidHexColorFormat Text
- | MsgInvalidDatetimeFormat Text
- type Env = Map Text [Text]
- type FileEnv = Map Text [FileInfo]
- data Ints
- type WForm (m :: Type -> Type) a = MForm (WriterT [FieldView (HandlerSite m)] m) a
- type MForm (m :: Type -> Type) a = RWST (Maybe (Env, FileEnv), HandlerSite m, [Lang]) Enctype Ints m a
- newtype AForm (m :: Type -> Type) a = AForm {}
- data Field (m :: Type -> Type) 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 :: Type -> Type) 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
FormResults.
The Alternative instance will choose FormFailure before FormSuccess,
and FormMissing last of all.
Constructors
| FormMissing | |
| FormFailure [Text] | |
| FormSuccess a |
Instances
| 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] | |
| 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 | |
| Functor FormResult Source # | |
Defined in Yesod.Form.Types | |
| 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) | |
| 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 | |
| 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 | |
| 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 | |
| Eq a => Eq (FormResult a) Source # | |
Defined in Yesod.Form.Types | |
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 | |
| MsgInvalidHexColorFormat Text | |
| MsgInvalidDatetimeFormat Text |
Instances
| 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 | |
| Eq FormMessage Source # | |
Defined in Yesod.Form.Types | |
Form
type WForm (m :: Type -> Type) 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
type MForm (m :: Type -> Type) a = RWST (Maybe (Env, FileEnv), HandlerSite m, [Lang]) Enctype Ints m a Source #
newtype AForm (m :: Type -> Type) a Source #
Constructors
| AForm | |
Build forms
data Field (m :: Type -> Type) a Source #
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 :: Type -> Type) a Source #
Arguments
| = Text | ID |
| -> Text | Name |
| -> [(Text, Text)] | Attributes |
| -> Either Text a | Either (invalid text) or (legitimate result) |
| -> Bool | Required? |
| -> WidgetFor (HandlerSite m) () |