Documentation / @zerotal/validator / DateRule
Class: DateRule
Defined in: validator/src/FieldRule.ts:573
Extends
Constructors
Constructor
new DateRule():
DateRule
Defined in: validator/src/FieldRule.ts:576
Returns
DateRule
Overrides
FieldRule.constructor
Properties
_def
readonly_def:DateDef
Defined in: validator/src/FieldRule.ts:574
Overrides
Methods
required()
required(
message?):this
Defined in: validator/src/FieldRule.ts:36
Mark this field as required (the default). Useful for readability, for re-asserting
after .optional(), or to attach a custom "is required" message:
rule.string().required("Please enter your name").min(2)
Parameters
message?
string
Returns
this
Inherited from
optional()
optional():
this
Defined in: validator/src/FieldRule.ts:42
Returns
this
Inherited from
nullable()
nullable():
this
Defined in: validator/src/FieldRule.ts:47
Returns
this
Inherited from
default()
default(
value):this
Defined in: validator/src/FieldRule.ts:52
Parameters
value
unknown
Returns
this
Inherited from
sometimes()
sometimes():
this
Defined in: validator/src/FieldRule.ts:66
Only run this field's rules if the field is present in the input. Absent fields are silently skipped and excluded from the output. Use for optional PATCH fields that should only be validated when provided.
Returns
this
Example
bio: rules.string().sometimes().max(500)
Inherited from
requiredIf()
requiredIf(
fieldOrFn,value?):this
Defined in: validator/src/FieldRule.ts:79
Make this field required only when another field equals a specific value.
Parameters
fieldOrFn
string | ((input) => boolean)
value?
unknown
Returns
this
Example
address: rules.string().requiredIf('hasShipping', true)
address: rules.string().requiredIf(input => input.method === 'pickup')
Inherited from
requiredUnless()
requiredUnless(
fieldOrFn,value?):this
Defined in: validator/src/FieldRule.ts:98
Make this field required unless another field equals a specific value.
Parameters
fieldOrFn
string | ((input) => boolean)
value?
unknown
Returns
this
Example
phone: rules.string().requiredUnless('contactMethod', 'email')
Inherited from
accepted()
accepted(
message?):this
Defined in: validator/src/FieldRule.ts:118
The value must be truthy: true, 1, '1', 'yes', 'on', 'true'.
Use for "agree to terms" checkboxes.
Parameters
message?
string
Returns
this
Example
terms: rules.boolean().accepted()
Inherited from
declined()
declined(
message?):this
Defined in: validator/src/FieldRule.ts:129
The value must be falsy: false, 0, '0', 'no', 'off', 'false'.
Parameters
message?
string
Returns
this
Example
newsletter: rules.boolean().declined()
Inherited from
custom()
custom(
fn,message?):this
Defined in: validator/src/FieldRule.ts:144
Run a custom synchronous or asynchronous validation function.
Return true to pass, false for a generic error, or a string as the error message.
Parameters
fn
CustomFn
message?
string
Returns
this
Example
username: rules.string().custom(async (value) => {
const taken = await Username.isTaken(value as string);
return taken ? 'This username is already taken.' : true;
})
Inherited from
requiredWith()
requiredWith(
fields):this
Defined in: validator/src/FieldRule.ts:157
This field is required when ANY of the listed fields are present in input.
Parameters
fields
string[]
Returns
this
Example
cardCvv: rules.string().requiredWith(['cardNumber', 'cardExpiry'])
Inherited from
requiredWithout()
requiredWithout(
fields):this
Defined in: validator/src/FieldRule.ts:169
This field is required when ANY of the listed fields are absent from input.
Parameters
fields
string[]
Returns
this
Example
email: rules.string().requiredWithout(['phone'])
Inherited from
requiredWithAll()
requiredWithAll(
fields):this
Defined in: validator/src/FieldRule.ts:178
This field is required when ALL of the listed fields are present.
Parameters
fields
string[]
Returns
this
Inherited from
requiredWithoutAll()
requiredWithoutAll(
fields):this
Defined in: validator/src/FieldRule.ts:187
This field is required when ALL of the listed fields are absent.
Parameters
fields
string[]
Returns
this
Inherited from
prohibitedIf()
prohibitedIf(
field,value):this
Defined in: validator/src/FieldRule.ts:199
This field must be absent when another field equals the given value.
Parameters
field
string
value
unknown
Returns
this
Example
adminCode: rules.string().prohibitedIf('role', 'guest')
Inherited from
prohibitedUnless()
prohibitedUnless(
field,value):this
Defined in: validator/src/FieldRule.ts:210
This field must be absent unless another field equals the given value.
Parameters
field
string
value
unknown
Returns
this
Example
discount: rules.number().prohibitedUnless('role', 'admin')
Inherited from
bail()
bail():
this
Defined in: validator/src/FieldRule.ts:222
Stop validating this field after the first failing rule.
Without bail(), all rules are checked and all errors collected.
Returns
this
Example
email: rules.string().email().unique('users', 'email').bail()
Inherited from
after()
after(
date,message?):this
Defined in: validator/src/FieldRule.ts:588
The date must be after the given date (exclusive).
Parameters
date
string | Date
message?
string
Returns
this
before()
before(
date,message?):this
Defined in: validator/src/FieldRule.ts:595
The date must be before the given date (exclusive).
Parameters
date
string | Date
message?
string
Returns
this
afterOrEqual()
afterOrEqual(
date,message?):this
Defined in: validator/src/FieldRule.ts:602
The date must be on or after the given date (inclusive).
Parameters
date
string | Date
message?
string
Returns
this
beforeOrEqual()
beforeOrEqual(
date,message?):this
Defined in: validator/src/FieldRule.ts:609
The date must be on or before the given date (inclusive).
Parameters
date
string | Date
message?
string
Returns
this