File tree Expand file tree Collapse file tree 1 file changed +27
-4
lines changed Expand file tree Collapse file tree 1 file changed +27
-4
lines changed Original file line number Diff line number Diff line change @@ -35,8 +35,31 @@ So you define `VerifiedModel` like this:
35
35
and you can verify this by using a ` Json.Decode.Pipeline ` -like api.
36
36
37
37
``` elm
38
- Verify . ok VerifiedModel
39
- |> keep . id
40
- |> verify . firstName ( Maybe . Verify . isJust " error" )
41
- |> verify . lastName ( Maybe . Verify . isJust" error" )
38
+ validator : Validator String Model VerifiedModel
39
+ validator =
40
+ Verify . ok VerifiedModel
41
+ |> keep . id
42
+ |> verify . firstName ( Maybe . Verify . isJust " no first name" )
43
+ |> verify . lastName ( Maybe . Verify . isJust" no last name" )
44
+ ```
45
+
46
+ You can execute a ` Validator ` just by calling it.
47
+
48
+ ``` elm
49
+ validator { id = 1 , firstName = Just " Luke" , lastName = Just " Skywalker" }
50
+ -- > Ok { id = 1, firstName = "Luke", lastName = "Skywalker" }
51
+
52
+ validator { id = 1 , firstName = Nothing , lastName = Nothing }
53
+ -- > Err [ "no first name", "no last name" ]
54
+ ```
55
+
56
+ So far we've used ` Validator ` s from ` Maybe.Verify ` . There are other ` Validator ` s in this package, but it's also simple to write your own ` Validator ` .
57
+
58
+ ``` elm
59
+ possitiveNumber : error -> Validator error Int Int
60
+ possitiveNumber error input =
61
+ if input >= 0 then
62
+ Ok input
63
+ else
64
+ Err [ error ]
42
65
```
You can’t perform that action at this time.
0 commit comments