feat(FormField): display multiple errors

Adds the `errors` and `maxErrors` properties to the FormField component which
allows to display multiple errors. The `maxErrors` prop is used to limit
the number of errors displayed and defaults to 1 for backward
compatibility.

This change is compatible with the `Form` component error's too.

Resolves #2389
This commit is contained in:
Romain Hamel
2025-06-14 17:19:16 +02:00
parent 59c26ec123
commit 5829aebe7d
4 changed files with 103 additions and 6 deletions

View File

@@ -5,7 +5,9 @@ const sizes = Object.keys(theme.variants.size) as Array<keyof typeof theme.varia
const feedbacks = [
{ description: 'This is a description' },
{ error: true },
{ error: 'This is an error' },
{ errors: ['This is an error', 'This is another error', 'This one is not visible'], maxErrors: 2 },
{ hint: 'This is a hint' },
{ help: 'Help! I need somebody!' },
{ required: true }
@@ -14,7 +16,7 @@ const feedbacks = [
<template>
<div class="flex flex-col items-center gap-4">
<div class="flex flex-col gap-4 ms-[-38px]">
<div class="flex flex-col gap-4 ms-[-92px]">
<div v-for="(feedback, count) in feedbacks" :key="count" class="flex items-center">
<UFormField v-bind="feedback" label="Email" name="email">
<UInput placeholder="john@lennon.com" />