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