Final Class Yiisoft\Validator\Rule\AnyRule
Applies to a set of rules, runs validation for each one of them in the order they are defined and stops at the rule where validation passed. The opposite of Yiisoft\Validator\Rule\StopOnError.
An example of usage:
$rule = new AnyRule([
new IntegerType(), // Let's say the validation passed here.
new FloatType(), // Then this rule will be skipped.
]);
When using with other rules, conditional validation options, such as \Yiisoft\Validator\Rule\AnyRule::$skipOnError will be applied to the whole group of \Yiisoft\Validator\Rule\AnyRule::$rules.
See also Yiisoft\Validator\Rule\StopOnErrorHandler Corresponding handler performing the actual validation.
Public Methods
Method Details
| public __construct( iterable $rules, string $message = 'At least one of the inner rules must pass the validation.', boolean|callable|null $skipOnEmpty = null, boolean $skipOnError = false, Closure|null $when = null ): mixed | ||
| $rules | iterable |
A set of rules for running the validation. They will be normalized during initialization using Yiisoft\Validator\Helper\RulesNormalizer. |
| $message | string |
Error message used when validation fails because none of the inner $rules has passed the validation. |
| $skipOnEmpty | boolean|callable|null |
Whether to skip this |
| $skipOnError | boolean |
Whether to skip this |
| $when | Closure|null |
A callable to define a condition for applying this |
public function __construct(
iterable $rules,
private string $message = 'At least one of the inner rules must pass the validation.',
bool|callable|null $skipOnEmpty = null,
private bool $skipOnError = false,
private ?Closure $when = null,
) {
$this->rules = RulesNormalizer::normalizeList($rules);
$this->skipOnEmpty = $skipOnEmpty;
}
| public afterInitAttribute( object $object ): void | ||
| $object | object | |
public function afterInitAttribute(object $object): void
{
foreach ($this->rules as $rule) {
if ($rule instanceof AfterInitAttributeEventInterface) {
$rule->afterInitAttribute($object);
}
}
}
Gets error message used when validation fails because none of the inner $rules has passed the validation.
| public getMessage( ): string | ||
| return | string |
Error message / template. |
|---|---|---|
public function getMessage(): string
{
return $this->message;
}
| public getOptions( ): array |
#[ArrayShape([
'message' => 'array',
'skipOnEmpty' => 'bool',
'skipOnError' => 'bool',
'rules' => 'array|null',
])]
public function getOptions(): array
{
return [
'message' => [
'template' => $this->message,
'parameters' => [],
],
'skipOnEmpty' => $this->getSkipOnEmptyOption(),
'skipOnError' => $this->skipOnError,
'rules' => $this->dumpRulesAsArray(),
];
}
Gets a set of rules for running the validation.
| public getRules( ): iterable | ||
| return | iterable |
A set of rules. |
|---|---|---|
public function getRules(): iterable
{
return $this->rules;
}
Defined in: Yiisoft\Validator\Rule\Trait\SkipOnEmptyTrait::getSkipOnEmpty()
A getter for $skipOnEmpty property.
| public getSkipOnEmpty( ): boolean|callable|null | ||
| return | boolean|callable|null |
A current raw (non-normalized) value. |
|---|---|---|
public function getSkipOnEmpty(): bool|callable|null
{
return $this->skipOnEmpty;
}
Defined in: Yiisoft\Validator\Rule\Trait\WhenTrait::getWhen()
A getter for $when property.
| public getWhen( ): Closure|null | ||
| return | Closure|null |
Current value:
|
|---|---|---|
public function getWhen(): ?Closure
{
return $this->when;
}
Defined in: Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait::shouldSkipOnError()
A getter for $skipOnError property.
| public shouldSkipOnError( ): boolean | ||
| return | boolean |
Current value. |
|---|---|---|
public function shouldSkipOnError(): bool
{
return $this->skipOnError;
}
Defined in: Yiisoft\Validator\Rule\Trait\SkipOnEmptyTrait::skipOnEmpty()
An immutable setter to change $skipOnEmpty property.
| public skipOnEmpty( boolean|callable|null $value ): $this | ||
| $value | boolean|callable|null |
A new value. |
| return | $this |
The new instance with a changed value. |
|---|---|---|
public function skipOnEmpty(bool|callable|null $value): static
{
$new = clone $this;
$new->skipOnEmpty = $value;
return $new;
}
Defined in: Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait::skipOnError()
An immutable setter to change $skipOnError property.
| public skipOnError( boolean $value ): $this | ||
| $value | boolean |
A new value. |
| return | $this |
The new instance with a changed value. |
|---|---|---|
public function skipOnError(bool $value): static
{
$new = clone $this;
$new->skipOnError = $value;
return $new;
}
Defined in: Yiisoft\Validator\Rule\Trait\WhenTrait::when()
An immutable setter to change $when property.
| public when( Closure|null $value ): $this | ||
| $value | Closure|null |
A new value:
|
| return | $this |
The new instance with a changed value. |
|---|---|---|
public function when(?Closure $value): static
{
$new = clone $this;
$new->when = $value;
return $new;
}
Signup or Login in order to comment.