respect-validation/library/Exceptions/KeyNestedException.php
2023-02-13 03:59:11 -03:00

50 lines
1.3 KiB
PHP

<?php
/*
* This file is part of Respect/Validation.
*
* (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
*
* For the full copyright and license information, please view the LICENSE file
* that was distributed with this source code.
*/
declare(strict_types=1);
namespace Respect\Validation\Exceptions;
/**
* Exceptions to be thrown by the Attribute Rule.
*
* @author Emmerson Siqueira <emmersonsiqueira@gmail.com>
* @author Henrique Moody <henriquemoody@gmail.com>
* @author Ivan Zinovyev <vanyazin@gmail.com>
*/
final class KeyNestedException extends NestedValidationException implements NonOmissibleException
{
public const NOT_PRESENT = 'not_present';
public const INVALID = 'invalid';
/**
* {@inheritDoc}
*/
protected $defaultTemplates = [
self::MODE_DEFAULT => [
self::NOT_PRESENT => 'No items were found for key chain {{name}}',
self::INVALID => 'Key chain {{name}} is not valid',
],
self::MODE_NEGATIVE => [
self::NOT_PRESENT => 'Items for key chain {{name}} must not be present',
self::INVALID => 'Key chain {{name}} must not be valid',
],
];
/**
* {@inheritDoc}
*/
protected function chooseTemplate(): string
{
return $this->getParam('hasReference') ? self::INVALID : self::NOT_PRESENT;
}
}