digestive-functors-aeson-1.0.2: Run digestive-functors forms against JSON

Safe HaskellNone

Text.Digestive.Aeson

Description

Run digestive-functors forms against JSON.

Synopsis

Documentation

digestJSONSource

Arguments

:: Monad m 
=> Form v m a

The form to evaluate.

-> Value

The JSON document to use for validation. If you need to use only part of this document, you need to transform this value first. You may find the aeson-lens package useful for this.

-> m (View v, Maybe a) 

Given a JSON document and a form, attempt to use the JSON document to evaluation the form. If the form fails validation, then Nothing is returned.

Example:

     import Data.Aeson (json)
     import Data.Attoparsec.Lazy (parse, maybeResult)
     import Text.Digestive.Aeson (digestJSON)
     ...
     Just parsedJson <- maybeResult . parse json <$> fetchJsonText
     digestJSON "" myForm parsedJson

jsonErrors :: ToJSON a => View a -> ValueSource

Takes a View and displays any errors in a hierachical format that matches the expected input.

Example:

     > jsonErrors myForm
     {"person":{"name":"This field is required"}}