final class Rules implements IteratorAggregate

Manages validation rules and conditions for a single form control.

Constants

private NegRules

Methods

__construct(Control $control)

No description

setRequired(string|Stringable|bool $value = true)

Makes control mandatory.

bool
isRequired()

Is control mandatory?

addRule(callable|string $validator, string|Stringable|null $errorMessage = null, mixed $arg = null)

Adds a validation rule for the current control.

removeRule(callable|string $validator)

Removes a validation rule for the current control.

addCondition(callable|string|bool $validator, mixed $arg = null)

Adds a validation condition and returns new branch.

addConditionOn(Control $control, callable|string $validator, mixed $arg = null)

Adds a validation condition on a specified control and returns new branch.

elseCondition()

Adds an else branch to the current condition and returns it.

endCondition()

Ends current validation condition.

addFilter(callable $filter)

Adds a value filter applied before validation.

toggle(string $id, bool $hide = true)

Shows or hides an HTML element (selected by CSS selector) when the condition is met.

array
getToggles(bool $actual = false)

Returns toggle definitions, or current evaluated states when $actual is true.

array
getToggleStates(array $toggles = [], bool $success = true, bool|null $emptyOptional = null)

No description

bool
validate(bool|null $emptyOptional = null)

Validates the control against all rules. Returns false and sets an error message on failure.

void
reset()

Removes all validation rules.

static bool
validateRule(Rule $rule)

Validates single rule.

getIterator()

Iterates over all rules in priority order (Blank first, then Required, then others).

Details

at line 36
__construct(Control $control)

No description

Parameters

Control $control

at line 45
Rules setRequired(string|Stringable|bool $value = true)

Makes control mandatory.

Parameters

string|Stringable|bool $value

Return Value

Rules

at line 60
bool isRequired()

Is control mandatory?

Return Value

bool

at line 70
Rules addRule(callable|string $validator, string|Stringable|null $errorMessage = null, mixed $arg = null)

Adds a validation rule for the current control.

Parameters

callable|string $validator
string|Stringable|null $errorMessage
mixed $arg

Return Value

Rules

at line 100
Rules removeRule(callable|string $validator)

Removes a validation rule for the current control.

Parameters

callable|string $validator

Return Value

Rules

at line 120
Rules addCondition(callable|string|bool $validator, mixed $arg = null)

Adds a validation condition and returns new branch.

Parameters

callable|string|bool $validator
mixed $arg

Return Value

Rules

at line 137
Rules addConditionOn(Control $control, callable|string $validator, mixed $arg = null)

Adds a validation condition on a specified control and returns new branch.

Parameters

Control $control
callable|string $validator
mixed $arg

Return Value

Rules

at line 155
Rules elseCondition()

Adds an else branch to the current condition and returns it.

Return Value

Rules

at line 175
Rules endCondition()

Ends current validation condition.

Return Value

Rules

at line 185
Rules addFilter(callable $filter)

Adds a value filter applied before validation.

Parameters

callable $filter

Return Value

Rules

at line 200
Rules toggle(string $id, bool $hide = true)

Shows or hides an HTML element (selected by CSS selector) when the condition is met.

Parameters

string $id
bool $hide

Return Value

Rules

at line 211
array getToggles(bool $actual = false)

Returns toggle definitions, or current evaluated states when $actual is true.

Parameters

bool $actual

Return Value

array

at line 222
array getToggleStates(array $toggles = [], bool $success = true, bool|null $emptyOptional = null)

internal  
 

No description

Parameters

array $toggles
bool $success
bool|null $emptyOptional

Return Value

array

at line 248
bool validate(bool|null $emptyOptional = null)

Validates the control against all rules. Returns false and sets an error message on failure.

Parameters

bool|null $emptyOptional

Return Value

bool

at line 277
void reset()

Removes all validation rules.

Return Value

void

at line 286
static bool validateRule(Rule $rule)

Validates single rule.

Parameters

Rule $rule

Return Value

bool

at line 304
Iterator getIterator()

Iterates over all rules in priority order (Blank first, then Required, then others).

Return Value

Iterator