Edit File: ResetPasswordCheckCodeRequest.php
<?php namespace App\Http\Requests\Api\User\ForgetPassword; use App\Enums\OTPType; use App\Http\Requests\BaseRequest; use App\Models\User; use App\Traits\GeneralTrait; class ResetPasswordCheckCodeRequest extends BaseRequest { use GeneralTrait; public function rules() { return [ 'code' => 'required|max:10', 'country_code' => 'required|exists:users,country_code', 'phone' => 'required|exists:users,phone|digits_between:9,11', 'password' => 'required|min:6|max:100|confirmed', ]; } public function prepareForValidation() { $this->merge([ 'phone' => fixPhone($this->phone), 'country_code' => fixPhone($this->country_code), ]); } public function withValidator($validator) { $validator->after(function ($validator) { $user = User::where(['phone' => $this->phone, 'country_code' => $this->country_code])->first(); if (!$user) { $validator->errors()->add('not_user', trans('auth.failed')); } if (!$this->isCodeCorrect($this->code, OTPType::FORGET_PASSWORD, $user)) { $validator->errors()->add('wrong_code', trans('auth.code_invalid')); } // check if the password is the same as the old password if ($user && $this->password == $user->password) { $validator->errors()->add('same_password', trans('auth.same_password')); } }); } }
Back to File Manager