Files
shadcn-ui/apps/v4/examples/base/select-invalid.tsx
2026-01-14 09:25:14 +04:00

57 lines
1.6 KiB
TypeScript

import { Field, FieldError, FieldLabel } from "@/examples/base/ui/field"
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/examples/base/ui/select"
export function SelectInvalid() {
const items = [
{ label: "Select a fruit", value: null },
{ label: "Apple", value: "apple" },
{ label: "Banana", value: "banana" },
{ label: "Blueberry", value: "blueberry" },
{ label: "Grapes", value: "grapes" },
{ label: "Pineapple", value: "pineapple" },
]
return (
<div className="flex flex-col gap-4">
<Select items={items}>
<SelectTrigger aria-invalid="true">
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectGroup>
{items.map((item) => (
<SelectItem key={item.value} value={item.value}>
{item.label}
</SelectItem>
))}
</SelectGroup>
</SelectContent>
</Select>
<Field data-invalid>
<FieldLabel htmlFor="select-fruit-invalid">Favorite Fruit</FieldLabel>
<Select items={items}>
<SelectTrigger id="select-fruit-invalid" aria-invalid>
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectGroup>
{items.map((item) => (
<SelectItem key={item.value} value={item.value}>
{item.label}
</SelectItem>
))}
</SelectGroup>
</SelectContent>
</Select>
<FieldError errors={[{ message: "Please select a valid fruit." }]} />
</Field>
</div>
)
}