Edit File: UserStoreRegisterRequest.php
<?php namespace App\Http\Requests\Api\Auth; use App\Models\User; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; use Illuminate\Http\Exceptions\HttpResponseException; use App\Traits\ApiTrait; use App\Traits\GeneralTrait; use Illuminate\Http\Request; use App\Rules\ValidateEmailEnd; class UserStoreRegisterRequest extends FormRequest { use ApiTrait ,GeneralTrait; public function rules() { return [ 'avatar' => 'required|image', 'name' => 'required|max:50', 'phone' => 'required|digits_between:9,11', 'country_key' => 'required', 'id_number' => 'required|numeric|digits_between:10,15', 'email' => 'required|email', 'nationality_id' => 'required|exists:nationalities,id', 'qualification_id' => 'required|exists:qualifications,id', 'device_id' => 'required', 'device_type' => 'required|in:ios,android', ]; } public function prepareForValidation() { $number = $this->convert2english($this->phone); $phone = $this->phoneValidate($number); $this->merge([ 'phone' => $phone, ]); } public function withValidator($validator) { $validator->after(function ($validator) { $user = User::where(['phone' => $this->phone ,'completed_info' => 'true'])->first() ; if ($user) { $validator->errors()->add('not_user', trans('auth.phone_unique')); } $user = User::where(['email' => $this->email])->first() ; if ($user && $user->phone != $this->phone) { $validator->errors()->add('not_user', trans('auth.email_unique')); } }); } protected function failedValidation( \Illuminate\Contracts\Validation\Validator $validator) { $msg = implode(' , ',$validator->errors()->all()); throw new HttpResponseException(response()->json(['key'=>'fail','msg'=>$msg])); } }
Back to File Manager