Skip to content

selectFieldToInputSchema

selectFieldToInputSchema(props): ZodType

Defined in: packages/core/src/fields/select/inputSchema.ts:27

Builds a Zod schema for validating a select field value in the admin form.

Validates that submitted values are arrays containing only defined option values. When hasMany is false, limits the array to a maximum of one item. Wraps in .optional() for non-required fields via applyBaseInputSchemaMeta.

Input props.

SelectField

The resolved select field definition

ZodType

A Zod array schema constrained to valid option values, with a baked-in .default(field.defaultValue) and optionality applied

const field = select({ required: true, options: [{ label: "Draft", value: "draft" }, { label: "Published", value: "published" }] })
selectFieldToInputSchema({ field })
// → z.array(z.enum(["draft", "published"])).default([])
const singleField = select({ hasMany: false, options: [{ label: "Draft", value: "draft" }] })
selectFieldToInputSchema({ field: singleField })
// → z.array(z.enum(["draft"])).max(1, "Only one value may be selected.").default([])