diff --git a/.changeset/small-pens-love.md b/.changeset/small-pens-love.md new file mode 100644 index 000000000..9c1ad3e1f --- /dev/null +++ b/.changeset/small-pens-love.md @@ -0,0 +1,5 @@ +--- +'svelte-ux': patch +--- + +fix(Form): Only prevent submitting to server if validation fails or no server action/method are defined diff --git a/packages/svelte-ux/src/lib/components/Form.svelte b/packages/svelte-ux/src/lib/components/Form.svelte index 7cd20cb5b..3ff3c4e0c 100644 --- a/packages/svelte-ux/src/lib/components/Form.svelte +++ b/packages/svelte-ux/src/lib/components/Form.svelte @@ -14,6 +14,12 @@ let className: string | undefined = undefined; export { className as class }; + /** Endpoint to submit form data */ + export let action: string | undefined = undefined; + + /** HTTP method to submit form. If action defined, defaults to `post`, else is undefined and will prevent submitted (client-side only)*/ + export let method: 'post' | 'get' | 'dialog' | undefined = action != null ? 'post' : undefined; + const settingsClasses = getComponentClasses('Form'); const [_state, draft, errors] = formStore(initial, { schema }); @@ -24,10 +30,17 @@
+