class Rule

Traits

Constants

UNDOTTED_DATA_CONTEXT_KEY

CoroutineContext key for caching the undotted data in Rule::compile().

Set by ValidationRuleParser::explodeWildcardRulesCompilable() to avoid repeated Arr::undot() calls when Rule::forEach expands wildcard items.

Properties

static protected array $macros

The registered string macros.

from  Macroable

Methods

static void
macro(string $name, callable|object $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

static Can
can(string $ability, mixed ...$arguments)

Get a can constraint builder instance.

when(bool|callable $condition, array|Closure|Rule|string|Stringable|ValidationRule $rules, array|Closure|Rule|string|Stringable|ValidationRule $defaultRules = [])

Apply the given rules if the given condition is truthy.

unless(bool|callable $condition, array|Closure|Rule|string|Stringable|ValidationRule $rules, array|Closure|Rule|string|Stringable|ValidationRule $defaultRules = [])

Apply the given rules if the given condition is falsy.

static ArrayRule
array(mixed $keys = null)

Get an array rule builder instance.

static ArrayKeys
arrayKeys(array|Arrayable|UnitEnum|int|string $keys)

Get an array keys rule builder instance.

static NestedRules
forEach(Closure $callback)

Create a new nested rule set.

static Unique
unique(string $table, string $column = 'NULL')

Get a unique constraint builder instance.

static Exists
exists(string $table, string $column = 'NULL')

Get an exists constraint builder instance.

static In
in(array|Arrayable|UnitEnum|string $values)

Get an in rule builder instance.

static NotIn
notIn(array|Arrayable|UnitEnum|string $values)

Get a not_in rule builder instance.

static string
accepted()

Get an accepted validation rule.

static string
activeUrl()

Get an active_url validation rule.

static string
base64()

Get a base64 validation rule.

static string
bail()

Get a bail validation rule.

static string
boolean(bool $strict = false)

Get a boolean validation rule.

static string
declined()

Get a declined validation rule.

static string
exclude()

Get an exclude validation rule.

static string
filled()

Get a filled validation rule.

static string
hexColor()

Get a hex_color validation rule.

static string
json()

Get a json validation rule.

static string
list()

Get a list validation rule.

static string
macAddress()

Get a mac_address validation rule.

static string
missing()

Get a missing validation rule.

static string
nullable()

Get a nullable validation rule.

static string
present()

Get a present validation rule.

static string
prohibited()

Get a prohibited validation rule.

static string
required()

Get a required validation rule.

static string
sometimes()

Get a sometimes validation rule.

static string
ulid()

Get an ulid validation rule.

static AcceptedIf
acceptedIf(string $anotherField, array|string|int|float|bool|null $value)

Get an accepted_if rule builder instance.

static DeclinedIf
declinedIf(string $anotherField, array|string|int|float|bool|null $value)

Get a declined_if rule builder instance.

static MissingIf
missingIf(string $anotherField, array|string|int|float|bool|null $value)

Get a missing_if rule builder instance.

static MissingUnless
missingUnless(string $anotherField, array|string|int|float|bool|null $value)

Get a missing_unless rule builder instance.

static PresentIf
presentIf(string $anotherField, array|string|int|float|bool|null $value)

Get a present_if rule builder instance.

static PresentUnless
presentUnless(string $anotherField, array|string|int|float|bool|null $value)

Get a present_unless rule builder instance.

static Confirmed
confirmed()

Get a confirmed rule builder instance.

static CurrentPassword
currentPassword()

Get a current_password rule builder instance.

static Distinct
distinct()

Get a distinct rule builder instance.

static ExcludeWith
excludeWith(string $anotherField)

Get an exclude_with rule builder instance.

static ExcludeWithout
excludeWithout(array|string $anotherField)

Get an exclude_without rule builder instance.

static InArray
inArray(string $otherField)

Get an in_array rule builder instance.

static InArrayKeys
inArrayKeys(array|string $keys)

Get an in_array_keys rule builder instance.

static IpAddress
ip()

Get an IP address rule builder instance.

static MissingWith
missingWith(array|string $fields)

Get a missing_with rule builder instance.

static MissingWithAll
missingWithAll(array|string $fields)

Get a missing_with_all rule builder instance.

static PresentWith
presentWith(array|string $fields)

Get a present_with rule builder instance.

static PresentWithAll
presentWithAll(array|string $fields)

Get a present_with_all rule builder instance.

prohibitedIfAccepted(string $field)

Get a prohibited_if_accepted rule builder instance.

prohibitedIfDeclined(string $field)

Get a prohibited_if_declined rule builder instance.

static Prohibits
prohibits(array|string $fields)

Get a prohibits rule builder instance.

static Regex
regex(string $pattern)

Get a regex rule builder instance.

static NotRegex
notRegex(string $pattern)

Get a not_regex rule builder instance.

requiredArrayKeys(array|string $keys)

Get a required_array_keys rule builder instance.

requiredIfAccepted(string $field)

Get a required_if_accepted rule builder instance.

requiredIfDeclined(string $field)

Get a required_if_declined rule builder instance.

static RequiredWith
requiredWith(array|string $fields)

Get a required_with rule builder instance.

static RequiredWithAll
requiredWithAll(array|string $fields)

Get a required_with_all rule builder instance.

static RequiredWithout
requiredWithout(array|string $fields)

Get a required_without rule builder instance.

requiredWithoutAll(array|string $fields)

Get a required_without_all rule builder instance.

static Timezone
timezone(array|null $arguments = null)

Get a timezone rule builder instance.

static Url
url()

Get a URL rule builder instance.

static Uuid
uuid()

Get a UUID rule builder instance.

static RequiredIf
requiredIf(bool|Closure|null $callback)

Get a required_if rule builder instance.

static RequiredUnless
requiredUnless(bool|Closure|null $callback)

Get a required_unless rule builder instance.

static ExcludeIf
excludeIf(bool|Closure $callback)

Get an exclude_if rule builder instance.

static ExcludeUnless
excludeUnless(bool|Closure $callback)

Get an exclude_unless rule builder instance.

static ProhibitedIf
prohibitedIf(bool|Closure $callback)

Get a prohibited_if rule builder instance.

prohibitedUnless(bool|Closure $callback)

Get a prohibited_unless rule builder instance.

static Date
date()

Get a date rule builder instance.

static Date
dateTime()

Get a datetime rule builder instance.

static Email
email()

Get an email rule builder instance.

static Enum
enum(string $type)

Get an enum rule builder instance.

static File
file()

Get a file rule builder instance.

static ImageFile
imageFile(bool $allowSvg = false)

Get an image file rule builder instance.

static Dimensions
dimensions(array $constraints = [])

Get a dimensions rule builder instance.

static StringRule
string()

Get a string rule builder instance.

static Numeric
numeric(bool $strict = false)

Get a numeric rule builder instance.

static AnyOf
anyOf(array $rules)

Get an "any of" rule builder instance.

static Contains
contains(array|Arrayable|UnitEnum|string $values)

Get a contains rule builder instance.

static DoesntContain
doesntContain(array|Arrayable|UnitEnum|string $values)

Get a doesnt_contain rule builder instance.

static object
compile(string $attribute, mixed $rules, array|null $data = null)

Compile a set of rules for an attribute.

static void
flushState()

Flush all static state.

Details

in Macroable at line 30
static void macro(string $name, callable|object $macro)

Register a custom macro.

Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 44
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 61
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 72
static void flushMacros()

Flush the existing macros.

Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 83
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 108
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 90
static Can can(string $ability, mixed ...$arguments)

Get a can constraint builder instance.

Parameters

string $ability
mixed ...$arguments

Return Value

Can

at line 98
static ConditionalRules when(bool|callable $condition, array|Closure|Rule|string|Stringable|ValidationRule $rules, array|Closure|Rule|string|Stringable|ValidationRule $defaultRules = [])

Apply the given rules if the given condition is truthy.

Parameters

bool|callable $condition
array|Closure|Rule|string|Stringable|ValidationRule $rules
array|Closure|Rule|string|Stringable|ValidationRule $defaultRules

Return Value

ConditionalRules

at line 109
static ConditionalRules unless(bool|callable $condition, array|Closure|Rule|string|Stringable|ValidationRule $rules, array|Closure|Rule|string|Stringable|ValidationRule $defaultRules = [])

Apply the given rules if the given condition is falsy.

Parameters

bool|callable $condition
array|Closure|Rule|string|Stringable|ValidationRule $rules
array|Closure|Rule|string|Stringable|ValidationRule $defaultRules

Return Value

ConditionalRules

at line 120
static ArrayRule array(mixed $keys = null)

Get an array rule builder instance.

Parameters

mixed $keys

Return Value

ArrayRule

at line 128
static ArrayKeys arrayKeys(array|Arrayable|UnitEnum|int|string $keys)

Get an array keys rule builder instance.

Parameters

array|Arrayable|UnitEnum|int|string $keys

Return Value

ArrayKeys

at line 136
static NestedRules forEach(Closure $callback)

Create a new nested rule set.

Parameters

Closure $callback

Return Value

NestedRules

at line 144
static Unique unique(string $table, string $column = 'NULL')

Get a unique constraint builder instance.

Parameters

string $table
string $column

Return Value

Unique

at line 152
static Exists exists(string $table, string $column = 'NULL')

Get an exists constraint builder instance.

Parameters

string $table
string $column

Return Value

Exists

at line 160
static In in(array|Arrayable|UnitEnum|string $values)

Get an in rule builder instance.

Parameters

array|Arrayable|UnitEnum|string $values

Return Value

In

at line 168
static NotIn notIn(array|Arrayable|UnitEnum|string $values)

Get a not_in rule builder instance.

Parameters

array|Arrayable|UnitEnum|string $values

Return Value

NotIn

at line 176
static string accepted()

Get an accepted validation rule.

Return Value

string

at line 184
static string activeUrl()

Get an active_url validation rule.

Return Value

string

at line 192
static string base64()

Get a base64 validation rule.

Return Value

string

at line 200
static string bail()

Get a bail validation rule.

Return Value

string

at line 208
static string boolean(bool $strict = false)

Get a boolean validation rule.

Parameters

bool $strict

Return Value

string

at line 216
static string declined()

Get a declined validation rule.

Return Value

string

at line 224
static string exclude()

Get an exclude validation rule.

Return Value

string

at line 232
static string filled()

Get a filled validation rule.

Return Value

string

at line 240
static string hexColor()

Get a hex_color validation rule.

Return Value

string

at line 248
static string json()

Get a json validation rule.

Return Value

string

at line 256
static string list()

Get a list validation rule.

Return Value

string

at line 264
static string macAddress()

Get a mac_address validation rule.

Return Value

string

at line 272
static string missing()

Get a missing validation rule.

Return Value

string

at line 280
static string nullable()

Get a nullable validation rule.

Return Value

string

at line 288
static string present()

Get a present validation rule.

Return Value

string

at line 296
static string prohibited()

Get a prohibited validation rule.

Return Value

string

at line 304
static string required()

Get a required validation rule.

Return Value

string

at line 312
static string sometimes()

Get a sometimes validation rule.

Return Value

string

at line 320
static string ulid()

Get an ulid validation rule.

Return Value

string

at line 328
static AcceptedIf acceptedIf(string $anotherField, array|string|int|float|bool|null $value)

Get an accepted_if rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

AcceptedIf

at line 336
static DeclinedIf declinedIf(string $anotherField, array|string|int|float|bool|null $value)

Get a declined_if rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

DeclinedIf

at line 344
static MissingIf missingIf(string $anotherField, array|string|int|float|bool|null $value)

Get a missing_if rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

MissingIf

at line 352
static MissingUnless missingUnless(string $anotherField, array|string|int|float|bool|null $value)

Get a missing_unless rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

MissingUnless

at line 360
static PresentIf presentIf(string $anotherField, array|string|int|float|bool|null $value)

Get a present_if rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

PresentIf

at line 368
static PresentUnless presentUnless(string $anotherField, array|string|int|float|bool|null $value)

Get a present_unless rule builder instance.

Parameters

string $anotherField
array|string|int|float|bool|null $value

Return Value

PresentUnless

at line 376
static Confirmed confirmed()

Get a confirmed rule builder instance.

Return Value

Confirmed

at line 384
static CurrentPassword currentPassword()

Get a current_password rule builder instance.

Return Value

CurrentPassword

at line 392
static Distinct distinct()

Get a distinct rule builder instance.

Return Value

Distinct

at line 400
static ExcludeWith excludeWith(string $anotherField)

Get an exclude_with rule builder instance.

Parameters

string $anotherField

Return Value

ExcludeWith

at line 408
static ExcludeWithout excludeWithout(array|string $anotherField)

Get an exclude_without rule builder instance.

Parameters

array|string $anotherField

Return Value

ExcludeWithout

at line 416
static InArray inArray(string $otherField)

Get an in_array rule builder instance.

Parameters

string $otherField

Return Value

InArray

at line 424
static InArrayKeys inArrayKeys(array|string $keys)

Get an in_array_keys rule builder instance.

Parameters

array|string $keys

Return Value

InArrayKeys

at line 432
static IpAddress ip()

Get an IP address rule builder instance.

Return Value

IpAddress

at line 440
static MissingWith missingWith(array|string $fields)

Get a missing_with rule builder instance.

Parameters

array|string $fields

Return Value

MissingWith

at line 448
static MissingWithAll missingWithAll(array|string $fields)

Get a missing_with_all rule builder instance.

Parameters

array|string $fields

Return Value

MissingWithAll

at line 456
static PresentWith presentWith(array|string $fields)

Get a present_with rule builder instance.

Parameters

array|string $fields

Return Value

PresentWith

at line 464
static PresentWithAll presentWithAll(array|string $fields)

Get a present_with_all rule builder instance.

Parameters

array|string $fields

Return Value

PresentWithAll

at line 472
static ProhibitedIfAccepted prohibitedIfAccepted(string $field)

Get a prohibited_if_accepted rule builder instance.

Parameters

string $field

Return Value

ProhibitedIfAccepted

at line 480
static ProhibitedIfDeclined prohibitedIfDeclined(string $field)

Get a prohibited_if_declined rule builder instance.

Parameters

string $field

Return Value

ProhibitedIfDeclined

at line 488
static Prohibits prohibits(array|string $fields)

Get a prohibits rule builder instance.

Parameters

array|string $fields

Return Value

Prohibits

at line 496
static Regex regex(string $pattern)

Get a regex rule builder instance.

Parameters

string $pattern

Return Value

Regex

at line 504
static NotRegex notRegex(string $pattern)

Get a not_regex rule builder instance.

Parameters

string $pattern

Return Value

NotRegex

at line 512
static RequiredArrayKeys requiredArrayKeys(array|string $keys)

Get a required_array_keys rule builder instance.

Parameters

array|string $keys

Return Value

RequiredArrayKeys

at line 520
static RequiredIfAccepted requiredIfAccepted(string $field)

Get a required_if_accepted rule builder instance.

Parameters

string $field

Return Value

RequiredIfAccepted

at line 528
static RequiredIfDeclined requiredIfDeclined(string $field)

Get a required_if_declined rule builder instance.

Parameters

string $field

Return Value

RequiredIfDeclined

at line 536
static RequiredWith requiredWith(array|string $fields)

Get a required_with rule builder instance.

Parameters

array|string $fields

Return Value

RequiredWith

at line 544
static RequiredWithAll requiredWithAll(array|string $fields)

Get a required_with_all rule builder instance.

Parameters

array|string $fields

Return Value

RequiredWithAll

at line 552
static RequiredWithout requiredWithout(array|string $fields)

Get a required_without rule builder instance.

Parameters

array|string $fields

Return Value

RequiredWithout

at line 560
static RequiredWithoutAll requiredWithoutAll(array|string $fields)

Get a required_without_all rule builder instance.

Parameters

array|string $fields

Return Value

RequiredWithoutAll

at line 568
static Timezone timezone(array|null $arguments = null)

Get a timezone rule builder instance.

Parameters

array|null $arguments

Return Value

Timezone

at line 576
static Url url()

Get a URL rule builder instance.

Return Value

Url

at line 584
static Uuid uuid()

Get a UUID rule builder instance.

Return Value

Uuid

at line 594
static RequiredIf requiredIf(bool|Closure|null $callback)

Get a required_if rule builder instance.

Parameters

bool|Closure|null $callback

Return Value

RequiredIf

at line 604
static RequiredUnless requiredUnless(bool|Closure|null $callback)

Get a required_unless rule builder instance.

Parameters

bool|Closure|null $callback

Return Value

RequiredUnless

at line 614
static ExcludeIf excludeIf(bool|Closure $callback)

Get an exclude_if rule builder instance.

Parameters

bool|Closure $callback

Return Value

ExcludeIf

at line 624
static ExcludeUnless excludeUnless(bool|Closure $callback)

Get an exclude_unless rule builder instance.

Parameters

bool|Closure $callback

Return Value

ExcludeUnless

at line 634
static ProhibitedIf prohibitedIf(bool|Closure $callback)

Get a prohibited_if rule builder instance.

Parameters

bool|Closure $callback

Return Value

ProhibitedIf

at line 644
static ProhibitedUnless prohibitedUnless(bool|Closure $callback)

Get a prohibited_unless rule builder instance.

Parameters

bool|Closure $callback

Return Value

ProhibitedUnless

at line 652
static Date date()

Get a date rule builder instance.

Return Value

Date

at line 660
static Date dateTime()

Get a datetime rule builder instance.

Return Value

Date

at line 668
static Email email()

Get an email rule builder instance.

Return Value

Email

at line 678
static Enum enum(string $type)

Get an enum rule builder instance.

Parameters

string $type

Return Value

Enum

at line 686
static File file()

Get a file rule builder instance.

Return Value

File

at line 694
static ImageFile imageFile(bool $allowSvg = false)

Get an image file rule builder instance.

Parameters

bool $allowSvg

Return Value

ImageFile

at line 702
static Dimensions dimensions(array $constraints = [])

Get a dimensions rule builder instance.

Parameters

array $constraints

Return Value

Dimensions

at line 710
static StringRule string()

Get a string rule builder instance.

Return Value

StringRule

at line 718
static Numeric numeric(bool $strict = false)

Get a numeric rule builder instance.

Parameters

bool $strict

Return Value

Numeric

at line 728
static AnyOf anyOf(array $rules)

Get an "any of" rule builder instance.

Parameters

array $rules

Return Value

AnyOf

Exceptions

InvalidArgumentException

at line 736
static Contains contains(array|Arrayable|UnitEnum|string $values)

Get a contains rule builder instance.

Parameters

array|Arrayable|UnitEnum|string $values

Return Value

Contains

at line 744
static DoesntContain doesntContain(array|Arrayable|UnitEnum|string $values)

Get a doesnt_contain rule builder instance.

Parameters

array|Arrayable|UnitEnum|string $values

Return Value

DoesntContain

at line 752
static object compile(string $attribute, mixed $rules, array|null $data = null)

Compile a set of rules for an attribute.

Parameters

string $attribute
mixed $rules
array|null $data

Return Value

object

at line 783
static void flushState()

Flush all static state.

Return Value

void