Final Class Yiisoft\Validator\Rule\Subset
A variation of {@see 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 {@see Subset::$values}.
The order of items in the validated set is not important.
Nested arrays are supported in both {@see $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 mixed __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 ) | ||
| $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 {@see $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 {@see \Yiisoft\Validator\SkipOnEmptyInterface}. |
| $skipOnError | boolean |
Whether to skip this rule if any of the previous rules gave an error. See {@see \Yiisoft\Validator\SkipOnErrorInterface}. |
| $when | Closure|null |
A callable to define a condition for applying the rule. See {@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 string getIncorrectInputMessage ( ) | ||
| 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 {@see $values}.
| public string getMessage ( ) | ||
| return | string |
Error message / template. |
|---|---|---|
public function getMessage(): string
{
return $this->message;
}
| public array getOptions ( ) |
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 boolean|callable|null getSkipOnEmpty ( ) | ||
| 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 iterable getValues ( ) | ||
| 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 Closure|null getWhen ( ) | ||
| return | Closure|null |
Current value:
|
|---|---|---|
public function getWhen(): ?Closure
{
return $this->when;
}
Whether the comparison for each value in the set is strict.
| public boolean isStrict ( ) | ||
| return | boolean |
|
|---|---|---|
public function isStrict(): bool
{
return $this->strict;
}
Defined in: Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait::shouldSkipOnError()
A getter for $skipOnError property.
| public boolean shouldSkipOnError ( ) | ||
| 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 $this skipOnEmpty ( boolean|callable|null $value ) | ||
| $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 $this skipOnError ( boolean $value ) | ||
| $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 $this when ( Closure|null $value ) | ||
| $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.