<?php declare(strict_types=1); namespace Dhii\Validation\Exception; use Stringable; use Exception; use Throwable; /** * Something that can represent an exception which occurs if a validation * fails. */ interface ValidationFailedExceptionInterface extends Throwable { /** * Retrieves validation errors that are associated with this instance. * * @return string[]|Stringable[]|iterable A list of errors. * Each error is something that can be treated as a string, and represents * a description of why a validation subject is invalid. * * @throws Exception If problem retrieving. */ public function getValidationErrors(): iterable; /** * Returns the subject, the validation for which failed. * * @return mixed The subject that was being validated. * * @throws Exception If problem retrieving. */ public function getValidationSubject(); }