Edit File: RegisterRequest.php
<?php namespace App\Http\Requests\Api\Delegate\Auth; use App\Http\Requests\Api\BaseApiRequest; use Illuminate\Validation\Rule; class RegisterRequest extends BaseApiRequest { public function rules() { define('VALIDATE_SIZE', 'required|array|size:2'); define('VALIDATE_IMAGE', 'required|image|mimes:jpeg,png,jpg,gif,svg,webp|max:2048'); return [ 'name' => 'required|max:50', 'image' => VALIDATE_IMAGE, 'country_code' => 'required|numeric|digits_between:2,5', 'phone' => 'required|numeric|digits_between:9,10|unique:delegates,phone,NULL,id,deleted_at,NULL', 'email' => 'nullable|email:rfc,dns|unique:delegates,email,NULL,id,deleted_at,NULL|max:50', 'lat' => 'required|numeric', 'lng' => 'required|numeric', 'map_desc' => 'required|string', 'city_id' => 'required|exists:cities,id', 'car_plat_number' => ['required', 'string', 'max:50', Rule::unique('delegates', 'car_plat_number')->whereNull('deleted_at')], 'car_images' => VALIDATE_SIZE, 'car_images.*' => VALIDATE_IMAGE, 'identity_images' => VALIDATE_SIZE, 'identity_images.*' => VALIDATE_IMAGE, 'licencses_certificate' => VALIDATE_SIZE, 'licencses_certificate.*' => VALIDATE_IMAGE, 'neighborhoods' => 'required|array', 'neighborhoods.*' => 'required|numeric|exists:neighborhoods,id', // bank account 'bank_name' => 'required|string|max:255', 'account_name' => 'required|string|max:255', 'account_number' => 'required|numeric|unique:bank_accounts,account_number|digits_between:10,20', 'iban' => ['required', 'string', 'regex:/(SA)[0-9]{22}/', 'unique:bank_accounts,iban'], // end bank account 'is_accept_terms' => ['required', 'in:1,true'], ]; } public function prepareForValidation() { $neighborhoods = is_string($this->neighborhoods) ? json_decode($this->neighborhoods, true) : $this->neighborhoods; $this->merge([ 'phone' => fixPhone($this->phone), 'country_code' => fixPhone($this->country_code), 'neighborhoods' => $neighborhoods ]); } }
Back to File Manager