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.
35 lines
726 B
PHP
35 lines
726 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 const FILTER_VALIDATE_INT;
|
|
|
|
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::IS_REPEATABLE)]
|
|
#[Template(
|
|
'{{name}} must be an even number',
|
|
'{{name}} must be an odd number',
|
|
)]
|
|
final class Even extends Simple
|
|
{
|
|
public function isValid(mixed $input): bool
|
|
{
|
|
if (filter_var($input, FILTER_VALIDATE_INT) === false) {
|
|
return false;
|
|
}
|
|
|
|
return (int) $input % 2 === 0;
|
|
}
|
|
}
|