Skip to content
On this page

handleSubmit

Submits the form on demand, causing it's validation depending on the mode/validation function, and calls the success/error fn consequently based on the outcome.

Demo

Coming soon...

Usage

Submit a form and catch if errors/issues on submitting

vue
<template>
    <form @submit.prevent="submitFn">
        <input type="text" v-bind="register('name', {
            required: true
        })" />
        <input type="text" v-bind="register('email', {
            required: true
        })" />
        <input type="text" v-bind="register('summary')">
        <button type="submit">Submit</button>
    </form>
</template>
<script setup lang="ts" >
import { useFormHandler } from 'vue-form-handler'

const { register, handleSubmit, formState } = useFormHandler()
const successFn = (form: any) => {
    //do anything with form
    console.log(form)
}
const submitFn = () => {
    try {
        handleSubmit(successFn)
    } catch {
        //do anything with errors
        console.log(formState.errors)
    }
}
</script>

Submit a form and pass error function

vue
<template>
    <form @submit.prevent="handleSubmit(successFn,errorFn)">
        <input type="text" v-bind="register('name', {
            required: true
        })" />
        <input type="text" v-bind="register('email', {
            required: true
        })" />
        <input type="text" v-bind="register('summary')">
        <button type="submit">Submit</button>
    </form>
</template>
<script setup lang="ts" >
import { useFormHandler } from 'vue-form-handler'

const { register, handleSubmit } = useFormHandler()
const successFn = (form: any) => {
    //do anything with form
    console.log(form)
}
const errorFn = (errors:any) => {
    //do anything with errors
    console.log(errors)
}
</script>

Type Declarations

ts
export type HandleSubmitSuccessFn = (values: Record<string, any>) => void
export type HandleSubmitErrorFn = (errors: Record<string, string>) => void

export type HandleSubmit = (
    successFn: HandleSubmitSuccessFn, 
    errorFn?: HandleSubmitErrorFn
) => void

Released under the MIT License.