Variable: validators
constvalidators:object
Defined in: packages/core/src/helpers.ts:287
Type-safe validators for common patterns
Type Declaration
email
email: <
T>(field) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:never[]; },undefined>
Validate email format
Type Parameters
T
T extends Record<string, unknown> = Record<string, unknown>
Parameters
field
string
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: never[]; }, undefined>
Example
const validate = validators.email('email');
const result = await validate({ email: 'not-valid' });
// { valid: false, errors: ['email must be a valid email'], warnings: [] }
length
length: <
T>(field,min,max) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:string[]; },undefined>
Validate string length
Type Parameters
T
T extends Record<string, unknown> = Record<string, unknown>
Parameters
field
string
min
number
max
number
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: string[]; }, undefined>
Example
const validate = validators.length('name', 2, 50);
const result = await validate({ name: 'A' });
// { valid: false, errors: ['name must be at least 2 characters'], warnings: [] }
pattern
pattern: <
T>(field,regex,message) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:never[]; },undefined>
Validate pattern match (regex)
Type Parameters
T
T extends Record<string, unknown> = Record<string, unknown>
Parameters
field
string
regex
RegExp
message
string
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: never[]; }, undefined>
Example
const validate = validators.pattern('zip', /^\d{5}$/, 'Must be a 5-digit zip code');
const result = await validate({ zip: 'abc' });
// { valid: false, errors: ['Must be a 5-digit zip code'], warnings: [] }
range
range: <
T>(field,min,max) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:never[]; },undefined>
Validate number range
Type Parameters
T
T extends Record<string, unknown> = Record<string, unknown>
Parameters
field
string
min
number
max
number
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: never[]; }, undefined>
Example
const validate = validators.range('age', 0, 120);
const result = await validate({ age: 150 });
// { valid: false, errors: ['age must be between 0 and 120'], warnings: [] }
required
required: <
T>(fields,message?) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:never[]; },undefined>
Validate required fields
Type Parameters
T
T
Parameters
fields
keyof T[]
message?
string
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: never[]; }, undefined>
Example
const validate = validators.required<{ name: string; email: string }>(['name', 'email']);
const result = await validate({ name: '', email: 'a@b.com' });
// { valid: false, errors: ['name is required'], warnings: [] }
url
url: <
T>(field) =>CallableDeterministic<T, {errors:string[];valid:boolean;warnings:never[]; },undefined>
Validate URL format
Type Parameters
T
T extends Record<string, unknown> = Record<string, unknown>
Parameters
field
string
Returns
CallableDeterministic<T, { errors: string[]; valid: boolean; warnings: never[]; }, undefined>
Example
const validate = validators.url('website');
const result = await validate({ website: 'not-a-url' });
// { valid: false, errors: ['website must be a valid URL'], warnings: [] }