Implement error handling #41

Merged
BobdaFett merged 15 commits from feat/error-handling into main 2026-01-06 19:06:07 +00:00
BobdaFett commented 2026-01-05 20:21:21 +00:00 (Migrated from github.com)

Adds error handling to all input components. They now register with the new ValidateForm component by adding their own error signals to a context-based FormValiationContext struct.

The form is able to use this context to display errors on all components that may have them. It does not short-circuit evaluated and will display errors on all components if they are not filled out.

This also adds the ValidatedForm component to all pages currently in use - input components no longer function without a FormValidationContext, and so they must be used within this new form.

Adds error handling to all input components. They now register with the new `ValidateForm` component by adding their own error signals to a context-based `FormValiationContext` struct. The form is able to use this context to display errors on all components that may have them. It does not short-circuit evaluated and will display errors on all components if they are not filled out. This also adds the `ValidatedForm` component to all pages currently in use - input components no longer function without a `FormValidationContext`, and so they *must* be used within this new form.
meraghon (Migrated from github.com) reviewed 2026-01-05 20:21:21 +00:00
BobdaFett commented 2026-01-05 23:18:53 +00:00 (Migrated from github.com)

I had to add some extra type erasing to the form schema and some of the pages. Type checking during compile-time was breaking Docker deployments, but was not failing on my own machine - this was slightly misleading but has been solved, we just need to look out for that in the future.

I had to add some extra type erasing to the form schema and some of the pages. Type checking during compile-time was breaking Docker deployments, but was not failing on my own machine - this was slightly misleading but has been solved, we just need to look out for that in the future.
Sign in to join this conversation.