Edit File: NewPhoneRequest.php
<?php namespace App\Http\Requests\Api\Provider\Profile; use App\Enums\AuthUpdatesAttributesEnum; use App\Http\Requests\BaseRequest; use Illuminate\Validation\Rule; class NewPhoneRequest extends BaseRequest { public function rules(): array { return [ 'country_code' => 'required|numeric|digits_between:2,5', 'phone' => ['required', 'numeric', 'digits_between:9,10', Rule::unique('providers', 'phone') ->whereNull('deleted_at')->ignore(auth()->id())], ]; } 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(); if ($this->phone == $user->phone) { $validator->errors()->add('same_phone', __('apis.same_phone')); } else { $oldPhone = $user->authUpdates()->where([ 'attribute' => $user->phone, 'country_code' => $user->country_code, 'type' => AuthUpdatesAttributesEnum::Phone->value ])->first(); if (!$oldPhone) { $validator->errors()->add('not_found', __('apis.send_change_phone_request_first')); } } }); } }
Back to File Manager