Final Class Yiisoft\Validator\Rule\Subset
A variation of Yiisoft\Validator\Rule\In rule allowing to use the set of values instead of single value as an input for checking if it's a subset of the set provided in Subset::$values.
The order of items in the validated set is not important.
Nested arrays are supported in both $values argument and in the validated value (the order of values in lists must match, the order of keys in associative arrays is not important).
See also Yiisoft\Validator\Rule\SubsetHandler Corresponding handler performing the actual validation.
Public Methods
Method Details
| public __construct( iterable $values, boolean $strict = false, string $incorrectInputMessage = '{Property} must be iterable. {type} given.', string $message = '{Property} is not a subset of acceptable values.', boolean|callable|null $skipOnEmpty = null, boolean $skipOnError = false, Closure|null $when = null ): mixed | ||
| $values | iterable |
A set of values to check against. Nested arrays are supported too (the order of values in lists must match, the order of keys in associative arrays is not important). |
| $strict | boolean |
Whether the comparison for each value in the set is strict:
Defaults to |
| $incorrectInputMessage | string |
Error message used when validation fails because the validated value is not an iterable. You may use the following placeholders in the message:
|
| $message | string |
Error message used when validation fails because the validated value is not a subset of the set provided in $values. You may use the following placeholders in the message:
|
| $skipOnEmpty | boolean|callable|null |
Whether to skip this rule if the validated value is empty / not passed. See Yiisoft\Validator\SkipOnEmptyInterface. |
| $skipOnError | boolean |
Whether to skip this rule if any of the previous rules gave an error. See Yiisoft\Validator\SkipOnErrorInterface. |
| $when | Closure|null |
A callable to define a condition for applying the rule. See Yiisoft\Validator\WhenInterface. |
public function __construct(
private iterable $values,
private bool $strict = false,
private string $incorrectInputMessage = '{Property} must be iterable. {type} given.',
private string $message = '{Property} is not a subset of acceptable values.',
bool|callable|null $skipOnEmpty = null,
private bool $skipOnError = false,
private ?Closure $when = null,
) {
$this->skipOnEmpty = $skipOnEmpty;
}
Gets error message used when validation fails because the type of validated value is incorrect.
| public getIncorrectInputMessage( ): string | ||
| return | string |
Error message / template. |
|---|---|---|
public function getIncorrectInputMessage(): string
{
return $this->incorrectInputMessage;
}
Gets error message used when validation fails because the validated value is not a subset of the set provided in $values.
| public getMessage( ): string | ||
| return | string |
Error message / template. |
|---|---|---|
public function getMessage(): string
{
return $this->message;
}
| public getOptions( ): array |
public function getOptions(): array
{
return [
'values' => $this->values,
'strict' => $this->strict,
'incorrectInputMessage' => [
'template' => $this->incorrectInputMessage,
'parameters' => [],
],
'message' => [
'template' => $this->message,
'parameters' => [],
],
'skipOnEmpty' => $this->getSkipOnEmptyOption(),
'skipOnError' => $this->skipOnError,
];
}
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;
}
Gets a set of values to check against.
| public getValues( ): iterable | ||
| return | iterable |
A set of values. |
|---|---|---|
public function getValues(): iterable
{
return $this->values;
}
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;
}
Whether the comparison for each value in the set is strict.
| public isStrict( ): boolean | ||
| return | boolean |
|
|---|---|---|
public function isStrict(): bool
{
return $this->strict;
}
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.