[ 'name_ar' => ['required', 'string','max:250',Rule::unique('App\Models\User', 'name_ar')->ignore($user->id)], 'name_en' => ['required', 'string','max:250',Rule::unique('App\Models\User', 'name_en')->ignore($user->id)], 'language' => ['required'], 'lang_default' => ['required'], 'date_of_birth' => ['required','date','before:-18 years'], 'email' => ['required','emailVerified','email:rfc,dns,filter,spoof', Rule::unique('App\Models\User', 'email')->ignore($user->id)], 'address' => ['required','max:150'], 'phone' => ['required', 'numeric','phoneNumber','phoneVerified', Rule::unique('App\Models\User', 'phone')->ignore($user->id)], 'identification_number' => ['required','digits:10','numeric',Rule::unique('App\Models\User' ,'identification_number')->ignore($user->id)], ...$fileValidation, ] // provider 'address' => 'required|max:150', 'gender' => ['required',Rule::in(['male','female'])], 'language' => 'required', 'nationality' => ['required','numeric',Rule::in([0,1])], 'lang_default' => 'required', 'license_no' => ['required','numeric','min:0',Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'license_no')->ignore($provider->id),'digits_between:1,12'], 'experience' => 'nullable|numeric|digits_between:1,2', 'service_id' => 'required|numeric|exists:jadeer\misc\models\Services,id', 'secondary_services' => $request->secondary_services == null ? '' : 'array|max:5', 'com_method' => ['array',Rule::in(['com_video','com_audio'])], 'secondary_services.*'=> 'distinct|numeric|different:service_id|exists:jadeer\misc\models\Services,id', 'third_member' => 'required|numeric|exists:jadeer\providers\Models\ThirdMembers,id', 'name_ar' => ['required','string','max:250',Rule::unique('App\Models\User' ,'name_ar')->ignore($user->id)], 'name_en' => ['required','string','max:250',Rule::unique('App\Models\User' ,'name_en')->ignore($user->id)], 'email' => ['required','emailVerified','email:rfc,dns,filter,spoof',Rule::unique('App\Models\User' ,'email')->ignore($user->id)], 'phone' => ['required','phoneVerified','numeric','phoneNumber',Rule::unique('App\Models\User' ,'phone')->ignore($user->id)], 'quick_price' => 'required|numeric|min:75|max:700', 'normal_price' => 'required|numeric|min:75|max:700', 'experiences_ar' => 'required', 'experiences_en' => 'required', 'bank_account_name' => ['required','string','max:150'], 'bank_name' => ['required','string','max:150'], 'account_number' => ['required',Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'account_number')->ignore($provider->id),'max:30'], 'iban_number' => ['required',Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'iban_number')->ignore($provider->id),'max:30'], 'identification_number' => ['required','digits:10','numeric',Rule::unique('App\Models\User' ,'identification_number')->ignore($user->id)], 'commercial_registration_date' => [Rule::requiredIf($request->filled('commercial_registration')),'date:Y-m-d','before_or_equal:today'], 'commercial_registration' => [Rule::requiredIf($request->filled('commercial_registration_date')),'digits:10',Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'commercial_registration')->ignore($provider->id)], 'tax_id' => ["nullable",'digits:10',Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'tax_id')->ignore($provider->id)], 'tax_bill' => (($request['third_member'] == 1 || $request['third_member'] == 2) && $request['nationality'] == 0) || (($provider['third_member'] == 1 || $provider['third_member'] == 2) && $provider['nationality'] == 0) ?'':'required', ...$fileValidation, ] // entity [ 'bio_ar' => "nullable", 'bio_en' => "nullable", 'account_creator' => "nullable", 'website' => $request->has('website') && $request['website'] != '' ?'url:http,https':'', 'fixed_phone' => ['digits:10','regex:/^[0][1]/',Rule::unique('App\Models\User' ,'phone')->ignore($userId),Rule::unique('jadeer\companyRep\Models\Entity' ,'fixed_phone')->ignore($entity['id'])], 'account_creator_relation' => "nullable", 'secondary_classifications' => "nullable", 'secondary_classifications.*' => $request->has('secondary_classifications') ? 'exists:Jadeer\companyRep\Models\Activities,id':'', 'manager_name' => "nullable", 'commercial_registration_date' => 'nullable|date:Y-m-d|before_or_equal:today', 'unified_number' => ["nullable",'digits:10',Rule::unique('App\Models\User' ,'phone')->ignore($userId),Rule::unique('jadeer\companyRep\Models\Entity' ,'unified_number')->ignore($entity['id'])], 'entity_national_address' => ["nullable",'max:8','regex:/^[A-Z]{4}\d{4}$/',Rule::unique('jadeer\companyRep\Models\Entity' ,'entity_national_address')->ignore($entity['id'])], 'scale' => $request->has('scale') && $request['scale'] != '' ? 'nullable|numeric|min:0|max:4':'', 'nationality' => ["nullable",'numeric',Rule::in([0,1])], 'is_pro' => ["nullable",'numeric',Rule::in([0,1])], 'classify_id' => 'nullable|numeric|exists:jadeer\companyRep\Models\Classification,id', 'bank_account_name' => ["nullable",'nullable','string','max:150'], 'bank_name' => ["nullable",'nullable','string','max:150'], 'account_number' => ["nullable",Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'account_number'),'max:30'], 'iban_number' => ["nullable",Rule::unique('Jadeer\providers\Models\ServiceProvider' ,'iban_number'),'max:30'], 'commercial_registration' => ["nullable",'digits:10',Rule::unique('jadeer\companyRep\Models\Entity' ,'commercial_registration')->ignore($entity['id'])], 'tax_id' => ["nullable",'digits:10',Rule::unique('jadeer\companyRep\Models\Entity' ,'tax_id')->ignore($entity['id'])], 'language' => "nullable", 'lang_default' => "nullable", 'name_ar' => ['nullable','string',Rule::unique('App\Models\User' ,'name_ar')->ignore($userId)], 'name_en' => ['nullable','string',Rule::unique('App\Models\User' ,'name_en')->ignore($userId)], 'email' => ["nullable",'email:rfc,dns',Rule::unique('App\Models\User' ,'email')->ignore($userId)], 'phone' => ["nullable",'phoneNumber','digits:9',Rule::unique('App\Models\User' ,'phone')->ignore($userId)], 'tax_bill' => "nullable", 'representative_jobs' => 'nullable|array', 'representative_jobs.*' => $request->has('representative_jobs') ? 'numeric|exists:jadeer\companyRep\Models\Job,id':'', 'socials' => 'nullable|array', 'socials.*' => 'nullable|url:https', ...$fileValidation, ] // emp [ 'language' => 'required', 'lang_default' => 'required', 'name_ar' => ['required','string','max:250',Rule::unique('App\Models\User' ,'name_ar')->ignore($userId),"fullName"], 'name_en' => ['required','string','max:250',Rule::unique('App\Models\User' ,'name_en')->ignore($userId)], 'email' => $authUser->user_type != "entity" ? ['required','emailVerified','email:rfc,dns,filter,spoof',Rule::unique('App\Models\User' ,'email')->ignore($userId)] : "", 'phone' => $authUser->user_type != "entity" ? ['required','phoneVerified','phoneNumber','numeric',Rule::unique('App\Models\User' ,'phone')->ignore($userId)] : "", 'job_description_ar' => ['required','string','max:250'], 'job_description_en' => ['required','string','max:250'], 'identification_number' => ['required','digits:10','numeric',Rule::unique('App\Models\User' ,'identification_number')->ignore($userId)], 'identification_expiration_date' => ['required','date:Y-m-d','after:'.date('Y-m-d',strtotime('+1 week'))], 'job_id' => Auth::user()->user_type == 'entity' && $request->has('id') ? 'required|exists:jadeer\companyRep\Models\Job,id':'', ...$fileValidation, ]