input
Input with multiple error messages
Input with multiple error messages
Загрузка превью…
src/input/c-input-21.vue
<!--
Расхождение с апстримом: `IconPlaceholder` заменена инлайновым `<svg>`
(lucide-react v0.545.0 "circle-alert", CircleAlertIcon) — см.
docs/PORTING.md §5.
-->
<script setup lang="ts">
import { Field, FieldError, FieldLabel } from "@/components/ui/field"
import { Input } from "@/components/ui/input"
</script>
<template>
<Field class="max-w-xs">
<FieldLabel for="security-code">Security Code</FieldLabel>
<Input id="security-code" placeholder="Enter your security code" aria-invalid="true" />
<FieldError class="mt-2 space-y-1.5 text-xs">
<div class="flex items-center gap-1.5">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-circle-alert size-3.5"
>
<circle cx="12" cy="12" r="10" />
<line x1="12" x2="12" y1="8" y2="12" />
<line x1="12" x2="12.01" y1="16" y2="16" />
</svg>
<span>Code must be at least 12 characters long</span>
</div>
<div class="flex items-center gap-1.5">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-circle-alert size-3.5"
>
<circle cx="12" cy="12" r="10" />
<line x1="12" x2="12" y1="8" y2="12" />
<line x1="12" x2="12.01" y1="16" y2="16" />
</svg>
<span>Code must contain at least one uppercase letter</span>
</div>
<div class="flex items-center gap-1.5">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-circle-alert size-3.5"
>
<circle cx="12" cy="12" r="10" />
<line x1="12" x2="12" y1="8" y2="12" />
<line x1="12" x2="12.01" y1="16" y2="16" />
</svg>
<span>Code cannot include common words or patterns</span>
</div>
</FieldError>
</Field>
</template>