Commit 05beed12 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Messages d'erreurs de validation moins verbeux (car limite à 2000 car côté Pégase)

parent b8df05f1
Loading
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -7,9 +7,7 @@ use Laminas\Psr7Bridge\Psr7ServerRequest;
use Laminas\Validator\AbstractValidator;
use League\OpenAPIValidation\PSR7\Exception\ValidationFailed;
use League\OpenAPIValidation\PSR7\ServerRequestValidator;
use League\OpenAPIValidation\Schema\Exception\SchemaMismatch;
use Webmozart\Assert\Assert;
use function Respect\Stringifier\stringify;

class OpenApiValidator extends AbstractValidator
{
@@ -20,7 +18,7 @@ class OpenApiValidator extends AbstractValidator

    /** @var array<self::ERROR_*, non-empty-string> */
    protected array $messageTemplates = [
        self::INVALID_VALUE => 'Requête invalide : %explain%',
        self::INVALID_VALUE => 'Requete invalide : %explain%',
    ];

    /** @var array<string, string> */
@@ -57,13 +55,8 @@ class OpenApiValidator extends AbstractValidator
    private function generateMessageFromException(ValidationFailed $e): string
    {
        $message = $e->getMessage();
        $pe = $e;
        while ($pe = $pe->getPrevious()) {
            $message .= ' - ' . $pe->getMessage();
            if ($pe instanceof SchemaMismatch) {
                $message .= ' - Breadcrumb : ' . implode(' > ', $pe->dataBreadCrumb()->buildChain());
                $message .= ' - Data : ' . stringify($pe->data());
            }
        while ($e = $e->getPrevious()) {
            $message .= PHP_EOL . $e->getMessage();
        }

        return $message;