Files
ploi-core/app/DataTransferObjects/Support/Rules/CustomRule.php
Ralph J. Smit d22bb52f35 Apply style
2023-09-26 23:47:24 +02:00

30 lines
718 B
PHP

<?php
namespace App\DataTransferObjects\Support\Rules;
use Attribute;
use Spatie\LaravelData\Support\Validation\ValidationPath;
use Spatie\LaravelData\Attributes\Validation\CustomValidationAttribute;
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::TARGET_PARAMETER)]
class CustomRule extends CustomValidationAttribute
{
protected array $rules = [];
public function __construct(...$rules)
{
$this->rules = $rules;
}
/**
* @return array<object|string>|object|string
*/
public function getRules(ValidationPath $path): array|object|string
{
return array_map(
fn (string $ruleClass) => new $ruleClass(),
$this->rules
);
}
}