Commit Graph

226 Commits

Author SHA1 Message Date
Dillon Kearns
69e8fc92f4 Use phantom builder for required checks. 2022-01-15 18:28:47 -08:00
Dillon Kearns
00c62a9e96 Include form-level errors in server-rendered response. 2022-01-15 15:02:32 -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
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
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
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
34df6c16c3 Use custom type for form errors. 2022-01-10 12:02:56 -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
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
b6e45b7a14 Disable submit button when there are form errors. 2022-01-06 11:42:49 -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
Dillon Kearns
e22d688920 Wire up Err for client-side validations. 2022-01-06 08:25:14 -08:00
Dillon Kearns
b855a20794 Update model state through FormMsg's. 2022-01-05 16:11:15 -08:00
Dillon Kearns
8887bbf97d Change Msg type, and wire up FormMsg. 2022-01-05 15:12:58 -08:00
Dillon Kearns
08138e7a26 Use () instead of Never for Msg's in stateless pages. That way, you can map Msg's (unlike never). 2022-01-05 14:09:37 -08:00
Dillon Kearns
ed814e54ee Replace min/max record fields with properties under the hood. 2022-01-05 11:48:33 -08:00
Dillon Kearns
a6508282d7 Add rating range field. 2022-01-05 11:40:35 -08:00
Dillon Kearns
1dd04db688 Delete commented reference code. 2022-01-05 11:36:16 -08:00
Dillon Kearns
7fe9168d10 Rename function. 2022-01-05 11:23:39 -08:00
Dillon Kearns
ae854e5742 Replace requiredText with more general required function. 2022-01-05 11:23:08 -08:00
Dillon Kearns
a018c48f5a Rename function. 2022-01-05 11:21:43 -08:00
Dillon Kearns
0f70795908 Add number input, required, and tel, url, email. 2022-01-05 09:27:18 -08:00
Dillon Kearns
2f4785d098 Delete commented code. 2022-01-05 08:08:55 -08:00
Dillon Kearns
d653c1ea49 Use enum mapping for radio. 2022-01-04 18:14:29 -08:00
Dillon Kearns
802d9ac538 Add radio button. 2022-01-04 17:55:37 -08:00
Dillon Kearns
af9ba5d099 Add push notifications section. 2022-01-04 16:20:44 -08:00
Dillon Kearns
0914f91bc7 Add checkbox input to tailwind form example. 2022-01-04 15:28:16 -08:00
Dillon Kearns
4d7203ad40 Add argument for default checked state on checkbox, and preserve checkbox state when repopulating form data. 2022-01-04 12:01:11 -08:00
Dillon Kearns
77778dcdf5 Add checkbox fields. 2022-01-04 11:47:57 -08:00
Dillon Kearns
d8ec3d735b Decode inputs into types. 2022-01-03 21:17:07 -08:00
Dillon Kearns
4a5d0814a9 Update form styling. 2022-01-03 19:26:41 -08:00
Dillon Kearns
1fde8588b0 Extract functions. 2022-01-03 14:26:04 -08:00
Dillon Kearns
1ae8d6096a Delete unused. 2022-01-03 14:12:53 -08:00
Dillon Kearns
0bfdc655ab Add wrap functions so sections of forms can be wrapped with views. 2022-01-03 14:07:36 -08:00
Dillon Kearns
98040342f7 Build tailwind modules in netlify. 2022-01-03 12:15:26 -08:00
Dillon Kearns
9968d796fb Add section heading. 2022-01-03 11:55:45 -08:00
Dillon Kearns
f2023a1b40 Update tailwind form example. 2022-01-03 11:14:39 -08:00
Dillon Kearns
0075c7eae8 Update tailwind setup and copy over raw form for reference. 2022-01-03 10:47:12 -08:00
Dillon Kearns
dda2f89cce Use plain HTML for vanilla form page. 2022-01-03 10:07:06 -08:00
Dillon Kearns
07bd8902d6 Make view type extensible, and add tailwind form example. 2022-01-03 10:04:42 -08:00
Dillon Kearns
5ab5881fc8 Update form API to include errors. 2022-01-03 08:43:00 -08:00
Dillon Kearns
580f845ded Make form views customizable. 2022-01-03 07:40:45 -08:00
Dillon Kearns
4ba0e99612 Preserve original values when there are validation errors. 2022-01-02 10:23:36 -08:00
Dillon Kearns
558cb98ff9 Add form server validations prototype. 2022-01-02 09:52:04 -08:00
Dillon Kearns
1165b73b61 Update form example. 2022-01-01 20:55:52 -08:00
Dillon Kearns
e4b1ba1b39 Update default user. 2022-01-01 18:35:36 -08:00
Dillon Kearns
8e2bdc68ed Add form API experiment. 2022-01-01 12:50:03 -08:00
Dillon Kearns
7b743cf72d Rename module. 2021-12-31 16:15:41 -08:00
Dillon Kearns
86142cb6d8 Remove obsolete server request code from initial prototype. 2021-12-31 11:52:37 -08:00
Dillon Kearns
78ee8d0117 Fix jsonError api route. 2021-12-31 11:17:12 -08:00
Dillon Kearns
3aae8c1adf Remove Handler type in favor of a type variable for ServerRequest type. 2021-12-31 11:14:23 -08:00
Dillon Kearns
bfbb5866f2 Capture multiple matching errors for server requests. 2021-12-30 19:55:45 -08:00
Dillon Kearns
68a4fc42c4 Add ServerRequest tests and remove obsolete expectFormField in favor of expectFormPost. 2021-12-30 11:43:10 -08:00
Dillon Kearns
8851ab402d Try reading relative to root of repo for netlify function. 2021-12-30 09:45:27 -08:00
Dillon Kearns
e9926979d3 Change included_files syntax. 2021-12-30 09:40:42 -08:00
Dillon Kearns
972c0ea9ce Move secret file to content/ folder. 2021-12-30 09:38:03 -08:00
Dillon Kearns
9e9eb26a02 Try different lamda file read root. 2021-12-30 09:31:24 -08:00
Dillon Kearns
d0d205bee4 Try new filename resolution for netlify function. 2021-12-30 09:27:20 -08:00
Dillon Kearns
2a90dc9d51 Try adding path.resolve for netlify file paths. 2021-12-29 21:57:35 -08:00
Dillon Kearns
cd86a91fe5 Try different included files syntax. 2021-12-29 21:52:09 -08:00
Dillon Kearns
5e10f199d2 Force build. 2021-12-29 21:47:40 -08:00
Dillon Kearns
9691832aa5 Try include files setup for serverless function file reads. 2021-12-29 21:43:40 -08:00
Dillon Kearns
a53dfb406e Remove local config from netlify config. 2021-12-29 21:42:42 -08:00
Dillon Kearns
8d26233d28 Force build. 2021-12-29 21:35:25 -08:00
Dillon Kearns
0ae28f004c Copy secret-note to server-render functions folder so it's available from serverless. 2021-12-29 21:22:56 -08:00
Dillon Kearns
5904902c47 Try adding secret-note file in functions folder. 2021-12-29 21:18:31 -08:00
Dillon Kearns
7b62788240 Force build. 2021-12-29 17:47:22 -08:00
Dillon Kearns
d13a397507 Use in-memory fs or real fs for http cache depending on whether context is serverless. 2021-12-29 17:18:37 -08:00
Dillon Kearns
7b85ef3a0b Add file upload page. 2021-12-29 15:57:04 -08:00
Dillon Kearns
f12b11ddb0 Check for base64 encoding in netlify adapter. 2021-12-29 14:25:46 -08:00
Dillon Kearns
4444ef6fc0 Update render result types and adapter script. 2021-12-29 13:58:21 -08:00
Dillon Kearns
243d4d9f0c Update adapter script and add some logging. 2021-12-29 13:37:47 -08:00
Dillon Kearns
f2ee856534 Add logs in adapter. 2021-12-29 13:28:20 -08:00
Dillon Kearns
13dca344c9 Fix adapter typo. 2021-12-29 13:28:14 -08:00
Dillon Kearns
c7ce19d14b Add missing await. 2021-12-29 13:21:49 -08:00
Dillon Kearns
ae690e4a58 Fix adapter script. 2021-12-29 13:19:08 -08:00
Dillon Kearns
0c8e4cc9d2 Delete incorrectly copy-pasted code from adapter script. 2021-12-29 13:15:13 -08:00
Dillon Kearns
2612159cde Recreate package-lock and remove obsolete npm i step in netlify. 2021-12-29 13:10:26 -08:00
Dillon Kearns
1f313d0cb8 Update package.json deps for netlify function (couldn't find cookie). 2021-12-29 13:07:55 -08:00
Dillon Kearns
b2c1a31c68 Handle multipart forms in dev server and adapter script. 2021-12-29 13:02:45 -08:00
Dillon Kearns
6534b10534 Add API for form posts, clean up Server.Request API and docs. 2021-12-29 07:58:40 -08:00
Dillon Kearns
bf98a76aed Add missing function in adapter. 2021-12-28 15:38:07 -08:00
Dillon Kearns
e4e20646c5 Fix cookie import. 2021-12-28 15:35:56 -08:00
Dillon Kearns
207518d6b8 Add cookie npm package to functions. 2021-12-28 12:03:41 -08:00