respect-validation/tests/library/Message/TestingArrayFormatter.php
Henrique Moody 16c2a75d00
Enable validating inputs without throwing exceptions
Currently, the only way to handle when a validation fails is by
`assert()`, which either throws an exception or doesn't. That means that
every time a user wants to handle the results, they must use try-catch
blocks, which may add some overhead.

This commit introduces the `ResultQuery` class that wraps a `Result`
object, providing an alternative to exception-based validation. This
allows users to handle results directly without try-catch blocks.

I’m taking a risky move here using the old method `validate()`, but I
can’t think of a better name for this method.
2025-12-22 20:37:11 +01:00

27 lines
655 B
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Test\Message;
use Respect\Validation\Message\ArrayFormatter;
use Respect\Validation\Message\Renderer;
use Respect\Validation\Result;
final class TestingArrayFormatter implements ArrayFormatter
{
/**
* @param array<string|int, mixed> $templates
*
* @return array<string|int, mixed>
*/
public function format(Result $result, Renderer $renderer, array $templates): array
{
return [$result->id->value => $renderer->render($result, $templates)];
}
}