0 follower

Final Class Yiisoft\Validator\Rule\TrueValueHandler

InheritanceYiisoft\Validator\Rule\TrueValueHandler
ImplementsYiisoft\Validator\RuleHandlerInterface

A handler for {@see TrueValue} rule.

Public Methods

Hide inherited methods

Method Description Defined By
validate() Yiisoft\Validator\Rule\TrueValueHandler

Method Details

Hide inherited methods

validate() public method

public Yiisoft\Validator\Result validate ( mixed $value, Yiisoft\Validator\RuleInterface $rule, Yiisoft\Validator\ValidationContext $context )
$value mixed
$rule Yiisoft\Validator\RuleInterface
$context Yiisoft\Validator\ValidationContext

                public function validate(mixed $value, RuleInterface $rule, ValidationContext $context): Result
{
    if (!$rule instanceof TrueValue) {
        throw new UnexpectedRuleException(TrueValue::class, $rule);
    }
    if (!is_scalar($value)) {
        $parameters = $this->getCommonResultParameters($rule, $context);
        $parameters['type'] = get_debug_type($value);
        return (new Result())->addError($rule->getIncorrectInputMessage(), $parameters);
    }
    if ($rule->isStrict()) {
        $valid = $value === $rule->getTrueValue();
    } else {
        $valid = $value == $rule->getTrueValue();
    }
    if ($valid) {
        return new Result();
    }
    $parameters = $this->getCommonResultParameters($rule, $context);
    $parameters['value'] = $value;
    return (new Result())->addError($rule->getMessage(), $parameters);
}