ValidationFailure tests

This commit is contained in:
icefox 2026-02-19 08:44:49 -03:00
parent 709201547c
commit f1d46dacb6
No known key found for this signature in database
7 changed files with 264 additions and 5 deletions

View file

@ -43,7 +43,7 @@ trait DataObject
/**
* @param array<string,mixed> $input
*/
public static function fromArray(array $input): static
public static function fromArray(array $input): ?static
{
$parameters = RuleFactory::getParametersMeta(static::class);
foreach ($parameters as $parameter) {
@ -72,8 +72,7 @@ trait DataObject
$validator = static::withValidator($input, $rules);
if ($validator->fails()) {
$exception = new ValidationException($validator);
throw $exception;
return static::fails($validator);
}
$mappedInput = [];
@ -103,6 +102,11 @@ trait DataObject
return [];
}
public static function fails(Validator $validator): ?static
{
throw new ValidationException($validator);
}
/**
* @return array<string,array<int, string|Rule>>
*/