selectFieldToInputSchema
selectFieldToInputSchema(
props):ZodType
Defined in: packages/core/src/fields/select/inputSchema.ts:33
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. Required fields attach { error: "This field is required." } to the
base z.array() call and add .min(1, "This field is required."), so a
missing value and an explicitly-submitted empty array are both rejected —
select previously had zero length enforcement for required fields
(CORE-1). Required fields never receive .default(); non-required fields
keep .default(field.defaultValue).
Parameters
Section titled “Parameters”Input props.
The resolved select field definition
Returns
Section titled “Returns”ZodType
A Zod array schema constrained to valid option values, with optionality applied
Example
Section titled “Example”const field = select({ required: true, options: [{ label: "Free", value: "free" }, { label: "Pro", value: "pro" }] })selectFieldToInputSchema({ field })// → z.array(z.enum(["free", "pro"]), { error: "This field is required." }).min(1, "This field is required.")
const singleField = select({ hasMany: false, options: [{ label: "Free", value: "free" }] })selectFieldToInputSchema({ field: singleField })// → z.array(z.enum(["free"])).max(1, "Only one value may be selected.").default([])