0 follower

Trait Yiisoft\Validator\Rule\Trait\WhenTrait

Implemented byYiisoft\Validator\Rule\AbstractCompare, Yiisoft\Validator\Rule\AbstractNumber, Yiisoft\Validator\Rule\AnyRule, Yiisoft\Validator\Rule\BooleanValue, Yiisoft\Validator\Rule\Callback, Yiisoft\Validator\Rule\Compare, Yiisoft\Validator\Rule\Composite, Yiisoft\Validator\Rule\Count, Yiisoft\Validator\Rule\Date\BaseDate, Yiisoft\Validator\Rule\Date\Date, Yiisoft\Validator\Rule\Date\DateTime, Yiisoft\Validator\Rule\Date\Time, Yiisoft\Validator\Rule\Each, Yiisoft\Validator\Rule\Email, Yiisoft\Validator\Rule\Equal, Yiisoft\Validator\Rule\FilledAtLeast, Yiisoft\Validator\Rule\FilledOnlyOneOf, Yiisoft\Validator\Rule\GreaterThan, Yiisoft\Validator\Rule\GreaterThanOrEqual, Yiisoft\Validator\Rule\Image\Image, Yiisoft\Validator\Rule\In, Yiisoft\Validator\Rule\InEnum, Yiisoft\Validator\Rule\Integer, Yiisoft\Validator\Rule\Ip, Yiisoft\Validator\Rule\Json, Yiisoft\Validator\Rule\Length, Yiisoft\Validator\Rule\LessThan, Yiisoft\Validator\Rule\LessThanOrEqual, Yiisoft\Validator\Rule\Nested, Yiisoft\Validator\Rule\NotEqual, Yiisoft\Validator\Rule\Number, Yiisoft\Validator\Rule\Regex, Yiisoft\Validator\Rule\Required, Yiisoft\Validator\Rule\StopOnError, Yiisoft\Validator\Rule\StringValue, Yiisoft\Validator\Rule\Subset, Yiisoft\Validator\Rule\TrueValue, Yiisoft\Validator\Rule\Type\BooleanType, Yiisoft\Validator\Rule\Type\FloatType, Yiisoft\Validator\Rule\Type\IntegerType, Yiisoft\Validator\Rule\Type\StringType, Yiisoft\Validator\Rule\UniqueIterable, Yiisoft\Validator\Rule\Url, Yiisoft\Validator\Rule\Uuid

An implementation for Yiisoft\Validator\WhenInterface intended to be included in rules. Requires an additional private class property $when. In package rules it's null by default:

public function __construct(
    // ...
    private Closure|null $when = null
    // ...
) {
}

Public Methods

Hide inherited methods

Method Description Defined By
getWhen() A getter for $when property. Yiisoft\Validator\Rule\Trait\WhenTrait
when() An immutable setter to change $when property. Yiisoft\Validator\Rule\Trait\WhenTrait

Method Details

Hide inherited methods

getWhen() public method

A getter for $when property.

public getWhen( ): Closure|null
return Closure|null

Current value:

  • null - always apply the validation.
  • callable - apply the validation depending on a return value: true - apply, false - do not apply.

                public function getWhen(): ?Closure
{
    return $this->when;
}

            
when() public method

An immutable setter to change $when property.

public when( Closure|null $value ): $this
$value Closure|null

A new value:

  • null - always apply the validation.
  • callable - apply the validation depending on a return value: true - apply, false - do not apply.
return $this

The new instance with a changed value.

                public function when(?Closure $value): static
{
    $new = clone $this;
    $new->when = $value;
    return $new;
}