| 12345678910111213141516171819202122232425 |
- <?php
- namespace App\Rules;
- use Carbon\Carbon;
- use Closure;
- use Illuminate\Contracts\Validation\ValidationRule;
- use Throwable;
- class AdultBirthDate implements ValidationRule
- {
- public function validate(string $attribute, mixed $value, Closure $fail): void
- {
- try {
- $isAdult = Carbon::parse($value)->age >= 18;
- } catch (Throwable) {
- // A regra `date` é responsável pela mensagem de data inválida.
- return;
- }
- if (!$isAdult) {
- $fail(__('validation.responsible_must_be_adult'));
- }
- }
- }
|