module LoggedIn.Category.Model exposing ( Model , AddCategory , init , initForm , validation ) import Date exposing (Date) import Form exposing (Form) import Form.Validate as Validate exposing (Validation) import Validation type alias Model = { addCategory : Form String AddCategory } type alias AddCategory = { amount : Int , date : Date } init : Model init = { addCategory = initForm } initForm : Form String AddCategory initForm = Form.initial [] validation validation : Validation String AddCategory validation = Validate.map2 AddCategory (Validate.field "amount" (Validate.int |> Validate.andThen (Validate.minInt 1))) (Validate.field "date" Validation.date)