Files
vito/app/ValidationRules/CronRule.php
Saeed Vaziry 131b828807 Plugins base (#613)
* wip

* wip

* cleanup

* notification channels

* phpstan

* services

* remove server types

* refactoring

* refactoring
2025-06-14 14:35:18 +02:00

24 lines
575 B
PHP
Executable File

<?php
namespace App\ValidationRules;
use Closure;
use Cron\CronExpression;
use Illuminate\Contracts\Validation\ValidationRule;
class CronRule implements ValidationRule
{
public function __construct(private readonly bool $acceptCustom = false) {}
public function validate(string $attribute, mixed $value, Closure $fail): void
{
if (CronExpression::isValidExpression($value)) {
return;
}
if ($this->acceptCustom && $value === 'custom') {
return;
}
$fail('Invalid frequency')->translate();
}
}