Files
backend-mm/app/Rules/VerificationRule.php
2025-09-25 03:03:31 +05:00

37 lines
836 B
PHP

<?php
namespace App\Rules;
use App\Models\Auth\Verification;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class VerificationRule implements ValidationRule
{
/**
* Constructor
*
* @param string $phone
*/
public function __construct(protected null|int|string $phone)
{
//
}
/**
* Run the validation rule.
*
* @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
if (! $this->phone) {
$fail(__('No phone provided'));
}
Verification::where('username', $this->phone)
->where('code', $value)
->existsOr(fn () => $fail(__('Write a correct data please')));
}
}