mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 23:35:45 +01:00
There's no reason not to make this method public. It will actually be easier for users to test their rules when they extend this class if this method is public.
33 lines
748 B
PHP
33 lines
748 B
PHP
<?php
|
|
|
|
/*
|
|
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Respect\Validation\Rules;
|
|
|
|
use Attribute;
|
|
use Respect\Validation\Message\Template;
|
|
use Respect\Validation\Rules\Core\Simple;
|
|
|
|
use function filter_var;
|
|
use function is_bool;
|
|
|
|
use const FILTER_NULL_ON_FAILURE;
|
|
use const FILTER_VALIDATE_BOOLEAN;
|
|
|
|
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::IS_REPEATABLE)]
|
|
#[Template(
|
|
'{{name}} must be a boolean value',
|
|
'{{name}} must not be a boolean value',
|
|
)]
|
|
final class BoolVal extends Simple
|
|
{
|
|
public function isValid(mixed $input): bool
|
|
{
|
|
return is_bool(filter_var($input, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
|
|
}
|
|
}
|