0 follower

Final Class Yiisoft\Validator\Rule\TrueValue

InheritanceYiisoft\Validator\Rule\TrueValue
ImplementsYiisoft\Validator\DumpedRuleInterface, Yiisoft\Validator\SkipOnEmptyInterface, Yiisoft\Validator\SkipOnErrorInterface, Yiisoft\Validator\WhenInterface
Uses TraitsYiisoft\Validator\Rule\Trait\SkipOnEmptyTrait, Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait, Yiisoft\Validator\Rule\Trait\WhenTrait

A variation of {@see BooleanValue} rule limiting the allowed values to "true" only (not limited to boolean "true" type). What value exactly is considered "true" can be configured via {@see TrueValue::$trueValue} setting. There is also an option to choose between strict and non-strict mode of comparison (see {@see TrueValue::$strict}).

A typical scope of application is a user agreement. If the purpose is to also check the falsiness, use {@see \Yiisoft\Validator\Rule\BooleanValue} rule instead.

See also Yiisoft\Validator\Rule\TrueValueHandler Corresponding handler performing the actual validation.

Public Methods

Hide inherited methods

Method Description Defined By
__construct() Yiisoft\Validator\Rule\TrueValue
getHandler() Yiisoft\Validator\Rule\TrueValue
getIncorrectInputMessage() Gets error message used when validation fails because the type of validated value is incorrect. Yiisoft\Validator\Rule\TrueValue
getMessage() Gets error message used when validation fails because the validated value does not match neither "true" nor "false" values. Yiisoft\Validator\Rule\TrueValue
getName() Yiisoft\Validator\Rule\TrueValue
getOptions() Yiisoft\Validator\Rule\TrueValue
getSkipOnEmpty() A getter for $skipOnEmpty property. Yiisoft\Validator\Rule\Trait\SkipOnEmptyTrait
getTrueValue() Gets the value that is considered to be "true". Yiisoft\Validator\Rule\TrueValue
getWhen() A getter for $when property. Yiisoft\Validator\Rule\Trait\WhenTrait
isStrict() Whether the comparison to {@see $trueValue} is strict. Yiisoft\Validator\Rule\TrueValue
shouldSkipOnError() A getter for $skipOnError property. Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait
skipOnEmpty() An immutable setter to change $skipOnEmpty property. Yiisoft\Validator\Rule\Trait\SkipOnEmptyTrait
skipOnError() An immutable setter to change $skipOnError property. Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait
when() An immutable setter to change $when property. Yiisoft\Validator\Rule\Trait\WhenTrait

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( scalar $trueValue '1', boolean $strict false, string $incorrectInputMessage 'The allowed types for {property} are integer, float, string, ' 'boolean. {type} given.', string $message '{Property} must be "{true}".', boolean|callable|null $skipOnEmpty null, boolean $skipOnError false, Closure|null $when null )
$trueValue scalar

The value that is considered to be "true". Only scalar values (either int, float, string or bool) are allowed. Defaults to 1 string.

$strict boolean

Whether the comparison to {@see $trueValue} is strict:

Defaults to false meaning non-strict mode is used.

$incorrectInputMessage string

Error message used when validation fails because the type of validated value is incorrect. Only scalar values are allowed - either int, float, string or bool. Used for more predictable formatting.

You may use the following placeholders in the message:

  • {property}: the translated label of the property being validated.
  • {true}: the value set in {@see $trueValue} option.
  • {type}: the type of the value being validated.
$message string

Error message used when validation fails because the validated value does not match neither "true" nor "false" values.

You may use the following placeholders in the message:

  • {property}: the translated label of the property being validated.
  • {true}: the value set in {@see $trueValue} option.
  • {value}: the value being validated.
$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 int|float|string|bool $trueValue = '1',
    private bool $strict = false,
    private string $incorrectInputMessage = 'The allowed types for {property} are integer, float, string, '
    . 'boolean. {type} given.',
    private string $message = '{Property} must be "{true}".',
    bool|callable|null $skipOnEmpty = null,
    private bool $skipOnError = false,
    private ?Closure $when = null,
) {
    $this->skipOnEmpty = $skipOnEmpty;
}

            
getHandler() public method

public string getHandler ( )

                public function getHandler(): string
{
    return TrueValueHandler::class;
}

            
getIncorrectInputMessage() public method

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;
}

            
getMessage() public method

Gets error message used when validation fails because the validated value does not match neither "true" nor "false" values.

public string getMessage ( )
return string

Error message / template.

                public function getMessage(): string
{
    return $this->message;
}

            
getName() public method

public string getName ( )

                public function getName(): string
{
    return self::class;
}

            
getOptions() public method

public array getOptions ( )

                public function getOptions(): array
{
    $messageParameters = [
        'true' => $this->trueValue === true ? 'true' : $this->trueValue,
    ];
    return [
        'trueValue' => $this->trueValue,
        'strict' => $this->strict,
        'incorrectInputMessage' => [
            'template' => $this->incorrectInputMessage,
            'parameters' => $messageParameters,
        ],
        'message' => [
            'template' => $this->message,
            'parameters' => $messageParameters,
        ],
        'skipOnEmpty' => $this->getSkipOnEmptyOption(),
        'skipOnError' => $this->skipOnError,
    ];
}

            
getSkipOnEmpty() public method

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;
}

            
getTrueValue() public method

Gets the value that is considered to be "true".

public scalar getTrueValue ( )
return scalar

A scalar value.

                public function getTrueValue(): int|float|string|bool
{
    return $this->trueValue;
}

            
getWhen() public method

Defined in: Yiisoft\Validator\Rule\Trait\WhenTrait::getWhen()

A getter for $when property.

public Closure|null getWhen ( )
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;
}

            
isStrict() public method

Whether the comparison to {@see $trueValue} is strict.

public boolean isStrict ( )
return boolean

true - strict, false - non-strict.

                public function isStrict(): bool
{
    return $this->strict;
}

            
shouldSkipOnError() public method

Defined in: Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait::shouldSkipOnError()

A getter for $skipOnError property.

public boolean shouldSkipOnError ( )
return boolean

Current value. true means to skip the current rule when the previous one errored and false - do not skip.

                public function shouldSkipOnError(): bool
{
    return $this->skipOnError;
}

            
skipOnEmpty() public method

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;
}

            
skipOnError() public method

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. true means to skip the current rule when the previous one errored and false - do not skip.

return $this

The new instance with a changed value.

                public function skipOnError(bool $value): static
{
    $new = clone $this;
    $new->skipOnError = $value;
    return $new;
}

            
when() public method

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:

  • 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;
}