respect-validation/library/Exceptions/SizeException.php
Alexandre Gomes Gaigalas ab3732f91f Use SPDX IDs for licensing
SPDX IDs are shorter than licensing notes previously used, and
adhere better to FOSS standards. It is also machine-readable.
2023-02-19 00:19:10 -03:00

55 lines
1.3 KiB
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Exceptions;
/**
* Exception class for Size rule.
*
* @author Henrique Moody <henriquemoody@gmail.com>
*/
final class SizeException extends NestedValidationException
{
public const BOTH = 'both';
public const LOWER = 'lower';
public const GREATER = 'greater';
/**
* {@inheritDoc}
*/
protected $defaultTemplates = [
self::MODE_DEFAULT => [
self::BOTH => '{{name}} must be between {{minSize}} and {{maxSize}}',
self::LOWER => '{{name}} must be greater than {{minSize}}',
self::GREATER => '{{name}} must be lower than {{maxSize}}',
],
self::MODE_NEGATIVE => [
self::BOTH => '{{name}} must not be between {{minSize}} and {{maxSize}}',
self::LOWER => '{{name}} must not be greater than {{minSize}}',
self::GREATER => '{{name}} must not be lower than {{maxSize}}',
],
];
/**
* {@inheritDoc}
*/
protected function chooseTemplate(): string
{
if (!$this->getParam('minValue')) {
return self::GREATER;
}
if (!$this->getParam('maxValue')) {
return self::LOWER;
}
return self::BOTH;
}
}