mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 07:45: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
763 B
PHP
35 lines
763 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 SplFileInfo;
|
|
|
|
use function file_exists;
|
|
use function is_string;
|
|
|
|
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::IS_REPEATABLE)]
|
|
#[Template(
|
|
'{{name}} must be an existing file',
|
|
'{{name}} must not be an existing file',
|
|
)]
|
|
final class Exists extends Simple
|
|
{
|
|
public function isValid(mixed $input): bool
|
|
{
|
|
if ($input instanceof SplFileInfo) {
|
|
$input = $input->getPathname();
|
|
}
|
|
|
|
return is_string($input) && file_exists($input);
|
|
}
|
|
}
|