Files
postshop-backend/app/Rules/VerificationRule.php
2026-02-03 15:31:29 +05:00

37 lines
839 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(__('Verification code is incorrect')));
}
}