Edit File: VerifyCodeRequest.php
<?php namespace App\Http\Requests\Api\User\Profile; use App\Enums\AuthUpdatesAttributesEnum; use App\Http\Requests\BaseRequest; class VerifyCodeRequest extends BaseRequest { public function rules(): array { $availableTypes = AuthUpdatesAttributesEnum::Phone->value . ',' . AuthUpdatesAttributesEnum::NewPhone->value; return [ 'type' => ['required', 'numeric', 'in:' . $availableTypes], 'code' => ['required', 'digits:6', 'numeric'], 'country_code' => ['required', 'numeric', 'digits_between:2,5'], 'phone' => ['required', 'numeric', 'digits_between:9,10', 'exists:auth_updates,attribute'], ]; } public function prepareForValidation(): void { $this->merge([ 'phone' => fixPhone($this->phone), 'country_code' => fixPhone($this->country_code), ]); } public function withValidator($validator): void { $validator->after(function ($validator) { $user = auth()->user(); $row = $user->authUpdates()->where([ 'attribute' => $this->phone, 'country_code' => $this->country_code, 'type' => $this->type ])->first(); if (!$row) { $validator->errors()->add('not_found', __('apis.send_change_phone_request_first')); } elseif ($row->code !== $this->code) { $validator->errors()->add('not_found', __('apis.invalid_code')); } }); } }
Back to File Manager