Skip to content

Error

The <Error> component displays error messages for a specified input field. By default, it renders the error inside a <span> element.

Basic Usage

vue
<script lang="ts" setup>
import { useForm } from 'vue-formify';

const { Form, Field, Error, setError, handleSubmit } = useForm();

const sendForm = (data) => {
	if (!data.email.length) {
		setError('email', 'Email required!');
	}
};
</script>

<template>
	<Form @submit="sendForm">
		<Field name="email" />
		<Error error-for="email" />
		<button>Send</button>
	</Form>
</template>

WARNING

Important: If you are not using the useForm composable, you should use a template ref on <Form> to set and display errors with the <Error> component.

You can also customize the rendered output using a slot:

vue
<template>
	<Error error-for="email" v-slot="{ error }">
		<p class="error-message">Error: {{ error }}</p>
	</Error>
</template>

INFO

The <Error> component does not render anything if there is no error for the specified field.

API Reference

Props

PropDescription
error-forThe name of the input to show the error for

Slots

SlotParameterDescription
error{ error: string }Customize error output