#36 - wip
This commit is contained in:
@@ -4,10 +4,18 @@ declare(strict_types=1);
|
||||
|
||||
namespace Toby\Domain\Validation\Rules;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Toby\Eloquent\Models\VacationRequest;
|
||||
|
||||
interface VacationRequestRule
|
||||
abstract class VacationRequestRule
|
||||
{
|
||||
public function check(VacationRequest $vacationRequest, Closure $next);
|
||||
public function check(VacationRequest $vacationRequest): void
|
||||
{
|
||||
if (! $this->passes($vacationRequest)) {
|
||||
throw ValidationException::withMessages(["vacationRequest" => $this->errorMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract function passes(VacationRequest $vacationRequest): bool;
|
||||
public abstract function errorMessage(): string;
|
||||
}
|
||||
|
Reference in New Issue
Block a user