Skip to main content
zerotal

Documentation


Documentation / zerotal / validator / FieldRuleDefinition

Interface: FieldRuleDefinition

Defined in: packages/validator/src/types.ts:6

Properties

type

type: "string" | "number" | "boolean" | "object" | "file" | "date" | "array"

Defined in: packages/validator/src/types.ts:7


required

required: boolean

Defined in: packages/validator/src/types.ts:8


requiredMessage?

optional requiredMessage?: string

Defined in: packages/validator/src/types.ts:10

Custom message for the basic "is required" failure (set via .required(message)).


nullable

nullable: boolean

Defined in: packages/validator/src/types.ts:11


defaultVal

defaultVal: unknown

Defined in: packages/validator/src/types.ts:12


sometimes?

optional sometimes?: boolean

Defined in: packages/validator/src/types.ts:14

Skip this field entirely when it is absent from input (no presence in output either).


requiredIf?

optional requiredIf?: { field: string; value: unknown; } | { fn: (input) => boolean; }

Defined in: packages/validator/src/types.ts:16

Make this field required only when field === value in the current input.


requiredUnless?

optional requiredUnless?: { field: string; value: unknown; } | { fn: (input) => boolean; }

Defined in: packages/validator/src/types.ts:19

Make this field required unless field === value in the current input.


requiredWith?

optional requiredWith?: string[]

Defined in: packages/validator/src/types.ts:22

Required when ANY of the listed fields are present in input.


requiredWithout?

optional requiredWithout?: string[]

Defined in: packages/validator/src/types.ts:24

Required when ANY of the listed fields are absent from input.


requiredWithAll?

optional requiredWithAll?: string[]

Defined in: packages/validator/src/types.ts:26

Required when ALL of the listed fields are present.


requiredWithoutAll?

optional requiredWithoutAll?: string[]

Defined in: packages/validator/src/types.ts:28

Required when ALL of the listed fields are absent.


prohibitedIf?

optional prohibitedIf?: object

Defined in: packages/validator/src/types.ts:30

Field must be absent when field === value.

field

field: string

value

value: unknown


prohibitedUnless?

optional prohibitedUnless?: object

Defined in: packages/validator/src/types.ts:32

Field must be absent unless field === value.

field

field: string

value

value: unknown


bail?

optional bail?: boolean

Defined in: packages/validator/src/types.ts:34

Stop validation on the first failing rule for this field.


rules

rules: object[]

Defined in: packages/validator/src/types.ts:35

name

name: string

args

args: unknown[]

message?

optional message?: string

fn?

optional fn?: CustomFn


children?

optional children?: FieldRuleDefinition

Defined in: packages/validator/src/types.ts:36


shape?

optional shape?: Record<string, FieldRuleDefinition>

Defined in: packages/validator/src/types.ts:37