* * 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 * @author Henrique Moody * @author Ivan Zinovyev */ 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; } }