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.