mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 15:25: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.
36 lines
743 B
PHP
36 lines
743 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 array_unique;
|
|
use function is_array;
|
|
|
|
use const SORT_REGULAR;
|
|
|
|
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::IS_REPEATABLE)]
|
|
#[Template(
|
|
'{{name}} must not contain duplicates',
|
|
'{{name}} must contain duplicates',
|
|
)]
|
|
final class Unique extends Simple
|
|
{
|
|
public function isValid(mixed $input): bool
|
|
{
|
|
if (!is_array($input)) {
|
|
return false;
|
|
}
|
|
|
|
return $input == array_unique($input, SORT_REGULAR);
|
|
}
|
|
}
|