route('user')); } /** * Prepare the data for validation. * * @return void */ protected function prepareForValidation(): void { /** @var \App\Models\User $user */ $user = $this->route('user'); if (!$user->role->equals(RoleEnum::conceptor)) { $this->merge(['email' => $user->email]); } } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { /** @var \App\Models\User $user */ $user = $this->route('user'); return array_merge(parent::rules(), [ 'email' => [ 'required', 'email:rfc,strict,dns,spoof,filter', Rule::unique('users', 'email')->ignore($user->getRouteKey()), ] ]); } }