edit field utilities - validation
name_ = Form.prop .name (\v m -> { m | name = v })
model =
{ name = "name" |> Validate.init signature ""
}
blank = Validate.blank "blank"
view a =
{ name = a
}
Validate.compose view
( model |> ( name_ |> Validate.single [ model.name |> blank ] ) )
{-
{ hasError = True
, form =
{ name =
( "name"
, { field = model.name
, prop = name_
}
, { errors = [ "blank" ] -- model.name |> blank
}
)
}
}
-}
{ hasError : Basics.Bool, form : model }
models and that has error
( String
, form
, { opts | errors : List String }
)
field name, form and errors
Model (Getto.Field.Form.Model form Attribute a) opts
single form model
Getto.Field.Model Attribute a
no-attribute field
Getto.Field.Form.Prop form Attribute a
Prop for no-attribute field
Getto.Field.Model attr a -> Maybe String
validate method
init : String -> value -> String -> Field value
construct Field
"name" |> Validate.init signature ""
single : List (Maybe String) -> Getto.Field.Form.Prop form attr a -> form -> Model (Getto.Field.Form.Model form attr a) {}
construct Single
form |> ( name_ |> Validate.single [ form.name |> Validate.blank "blank" ] )
nothing : String -> Validater attr (Maybe value)
error if Nothing
blank : String -> Validater attr String
error if empty string
emptySet : String -> Validater attr (Set a)
error if empty set
emptyList : String -> Validater attr (List a)
error if empty list
notInt : String -> Validater attr String
error if string is not int
validate : String -> (a -> Basics.Bool) -> Getto.Field.Model attr a -> Maybe String
error if validation failed
compose : (Model a opts -> model) -> Model a opts -> View model
compose models
type alias Form =
{ name = Validate.Field String
}
type alias Model =
{ name = Validate.Single Form {} String
}
name_ = Form.prop .name (\v m -> { m | name = v })
Validate.compose Model
( form |> ( name_ |> Validate.single [ form.name |> Validate.blank "blank" ] ) )
compose2 : (Model a opts -> Model b opts -> model) -> Model a opts -> Model b opts -> View model
compose models with 2 args
Validate.compose Model
( form |> ( name_ |> Validate.single [ form.name |> Validate.blank "blank" ] ) )
( form |> ( age_ |> Validate.single [] ) )
compose3 : (Model a opts -> Model b opts -> Model c opts -> model) -> Model a opts -> Model b opts -> Model c opts -> View model
compose models with 3 args
compose4 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> View model
compose models with 4 args
compose5 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> View model
compose models with 5 args
compose6 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> View model
compose models with 6 args
compose7 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> View model
compose models with 7 args
compose8 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> View model
compose models with 8 args
compose9 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> View model
compose models with 9 args
compose10 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> View model
compose models with 10 args
compose11 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> View model
compose models with 11 args
compose12 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> View model
compose models with 12 args
compose13 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> View model
compose models with 13 args
compose14 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> View model
compose models with 14 args
compose15 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> Model o opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> Model o opts -> View model
compose models with 15 args
compose16 : (Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> Model o opts -> Model p opts -> model) -> Model a opts -> Model b opts -> Model c opts -> Model d opts -> Model e opts -> Model f opts -> Model g opts -> Model h opts -> Model i opts -> Model j opts -> Model k opts -> Model l opts -> Model m opts -> Model n opts -> Model o opts -> Model p opts -> View model
compose models with 16 args