Commit Graph

3215 Commits

Author SHA1 Message Date
Dillon Kearns
22b3b54799 Use phantom types to reduce the number of cominations of functions for setting values with different types. 2022-01-16 15:29:06 -08:00
Dillon Kearns
43a227d22c Add Form.Value module. 2022-01-16 14:31:19 -08:00
Dillon Kearns
d5478db009 Add time input. 2022-01-16 14:31:08 -08:00
Dillon Kearns
a769a3e569 Fix tests. 2022-01-15 19:29:30 -08:00
Dillon Kearns
6de253d91e Add constraints to only allow formatting input options to be applied to text inputs. 2022-01-15 19:03:13 -08:00
Dillon Kearns
4e78fceaef Regenerate docs.json. 2022-01-15 18:45:15 -08:00
Dillon Kearns
5b06fe51a4 Replace requiredRadio with radio that can apply required option. 2022-01-15 18:44:06 -08:00
Dillon Kearns
adc22cf493 Remove obsolete requiredNumber. 2022-01-15 18:30:17 -08:00
Dillon Kearns
69e8fc92f4 Use phantom builder for required checks. 2022-01-15 18:28:47 -08:00
Dillon Kearns
fedee35e08 Add initial docs structure for Form module. 2022-01-15 16:56:21 -08:00
Dillon Kearns
f496bf3508 Remove codec dependency from Form API. 2022-01-15 16:04:54 -08:00
Dillon Kearns
2785d4a84b Run field-level validations for server response code path. 2022-01-15 15:43:09 -08:00
Dillon Kearns
5a808aa736 Formatting change. 2022-01-15 15:42:48 -08:00
Dillon Kearns
00c62a9e96 Include form-level errors in server-rendered response. 2022-01-15 15:02:32 -08:00
Dillon Kearns
0455ced317 Let fatal errors propagate from form decoding instead of doing DataSource.fail for server validations. 2022-01-15 12:03:20 -08:00
Dillon Kearns
70143d4a63 Remove dependency on low-level Request optional form field decoder. 2022-01-15 09:27:03 -08:00
Dillon Kearns
6b7c4586c9 Run field-level errors and form-level errors independently to avoid duplicates but get them in real-time. 2022-01-15 09:06:19 -08:00
Dillon Kearns
9c922c8f40 Run field-level validations on field change. Preparing for change to store dependent validation results separately so they can be updated independently. 2022-01-14 15:28:17 -08:00
Dillon Kearns
ff79f79d8f Make field required. 2022-01-14 15:25:42 -08:00
Dillon Kearns
84e7d9d157 Use user-defined errors instead of a set list of validation errors. 2022-01-14 08:46:35 -08:00
Dillon Kearns
1ac1c9d73e Abstract helper for submitHandlers. 2022-01-13 17:17:52 -08:00
Dillon Kearns
3bd6fdfdd0 Add todo comment. 2022-01-13 15:09:36 -08:00
Dillon Kearns
d25e6fc0d8 Fix issue with Server.Request.oneOf short-circuiting on failure instead of trying other handlers. 2022-01-13 15:09:20 -08:00
Dillon Kearns
b8e7a47e34 Give multiple errors for non-fatal validation errors. 2022-01-13 14:18:53 -08:00
Dillon Kearns
90d6bc821d Add ability to do dependent validations looking at entire form value. 2022-01-13 09:06:58 -08:00
Dillon Kearns
fe7b1c5209 Add input type to form style. 2022-01-12 17:07:21 -08:00
Dillon Kearns
a875161a8a Fix tests. 2022-01-11 09:33:45 -08:00
Dillon Kearns
92098ac972 Set field state on blur, focus, and input. 2022-01-11 09:00:58 -08:00
Dillon Kearns
c2b53e513a Scroll to top on success, and change debug info styling. 2022-01-10 19:34:26 -08:00
Dillon Kearns
9438e50add Handle required fields for checkboxes. 2022-01-10 19:01:47 -08:00
Dillon Kearns
95eff70f02 Run validations on init. Make Int and Float ranges. 2022-01-10 18:35:46 -08:00
Dillon Kearns
7d5b999966 Fix tests. 2022-01-10 16:35:45 -08:00
Dillon Kearns
1e72283296 Don't submit form when there are validation errors. Include submitStatus for renderers. 2022-01-10 16:33:29 -08:00
Dillon Kearns
647a18cf28 Show errors for radio inputs, and add required radio builder. 2022-01-10 12:38:49 -08:00
Dillon Kearns
e8a8de56f6 Handle required vs. optional dates. 2022-01-10 12:25:35 -08:00
Dillon Kearns
2663b21b46 Add MissingRequired variant to Form errors. 2022-01-10 12:07:59 -08:00
Dillon Kearns
34df6c16c3 Use custom type for form errors. 2022-01-10 12:02:56 -08:00
Dillon Kearns
b7d58471f9 Show required error message for missing required number field. 2022-01-10 11:43:51 -08:00
Dillon Kearns
b82aa41416 Handle elm/http submit from Form API. 2022-01-10 11:38:25 -08:00
Dillon Kearns
9be4926d34 Use record for Form model in preparation for adding more state. 2022-01-10 10:34:20 -08:00
Dillon Kearns
69990efdec Delete unused. 2022-01-10 10:15:30 -08:00
Dillon Kearns
80171b84f8 Set default values in form dict on init. 2022-01-10 10:14:02 -08:00
Dillon Kearns
fd905da1da Add function to submit form with elm/http request. 2022-01-07 15:08:43 -08:00
Dillon Kearns
4704a634f4 Add initial constraints phantom builder API (see https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Constraint_validation#validation-related_attributes). 2022-01-06 12:14:20 -08:00
Dillon Kearns
b6e45b7a14 Disable submit button when there are form errors. 2022-01-06 11:42:49 -08:00
Dillon Kearns
2e4f87767f Include client validations in server response. 2022-01-06 11:02:56 -08:00
Dillon Kearns
3522ed2b66 Apply capitalized validation to first and last names. 2022-01-06 11:01:53 -08:00
Dillon Kearns
6102412523 Apply input styling to email fields. 2022-01-06 11:01:38 -08:00
Dillon Kearns
edd678e403 Show client-validation errors coming back from server. 2022-01-06 09:48:06 -08:00
Dillon Kearns
e042393830 Add function to include client-side validation. 2022-01-06 09:44:46 -08:00