Technical definition of how Drizzle/Zod types are transformed into Nuxt UI components within the nuxt-auto-crud ecosystem.
This guide defines how Drizzle/Zod types manifest as Nuxt UI components via useDynamicZodSchema.ts and Form.vue.
| Drizzle/Zod Type | Field Pattern | Component | Logic / Constraint |
|---|---|---|---|
boolean | * | UCheckbox | Defaults to false. |
date | * | UInput | type="datetime-local". Coerced via z.coerce.date(). |
string | password | CommonPassword | Create only. UI is read-only on Edit. |
| `string | number` | *Id, *_id | CrudNameList |
enum | * | USelect | Items mapped from field.selectOptions. |
textarea | * | UTextarea | Triggered by field.type: 'textarea'. |
string | status | USelect | Permission-gated via canUpdateStatus. |
id, createdAt, updatedAt, deletedAt (and snake_case variants) are stripped by Form.vue and the Nitro backend.capitalCase(fieldName.replace(/(_id|Id)$/, '')).POST. Stripped from PATCH payloads automatically.