* * For the full copyright and license information, please view the "LICENSE.md" * file that was distributed with this source code. */ declare(strict_types=1); namespace Respect\Validation\Exceptions; class AttributeException extends NestedValidationException implements NonOmissibleExceptionInterface { public const NOT_PRESENT = 'not_present'; public const INVALID = 'invalid'; public static $defaultTemplates = [ self::MODE_DEFAULT => [ self::NOT_PRESENT => 'Attribute {{name}} must be present', self::INVALID => 'Attribute {{name}} must be valid', ], self::MODE_NEGATIVE => [ self::NOT_PRESENT => 'Attribute {{name}} must not be present', self::INVALID => 'Attribute {{name}} must not validate', ], ]; public function chooseTemplate(): string { return $this->getParam('hasReference') ? static::INVALID : static::NOT_PRESENT; } }