vantezzen / auto-form

🌟 A React component that automatically creates a @shadcn/ui form based on a zod schema.
https://vantezzen.github.io/auto-form/
2.29k stars 81 forks source link

bug: nativeEnums don't pass validation (including demo) #28

Closed pmioduszewski closed 8 months ago

pmioduszewski commented 10 months ago

Basically, nativeEnums are broken now; I see this issue also on the demo page:

image
hyoban commented 9 months ago

Key and value need to be exchanged where defined and used, because zod verifies value.

const Fruits = {
  Apple: "apple",
  Banana: "banana",
  Cantaloupe: 3,
} as const;

const FruitEnum = z.nativeEnum(Fruits);

FruitEnum.parse("apple"); // passes
FruitEnum.parse("banana"); // passes
FruitEnum.parse(3); // passes
FruitEnum.parse("Cantaloupe"); // fails

https://github.com/vantezzen/auto-form/blob/main/src/components/ui/auto-form.tsx#L453