route('user')); } /** * Prepare the data for validation. * * @return void */ protected function prepareForValidation(): void { $this->merge([ 'published' => $this->boolean('published'), 'password' => $this->input('password') ?? \optional($this->route('user'))->password, 'password_confirmation' => $this->input('password_confirmation') ?? \optional($this->route('user'))->password ]); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules(): array { return array_merge(parent::rules(), [ 'email' => [ 'required', 'email:rfc,strict,dns,spoof,filter', Rule::unique('users', 'email')->ignore(\optional($this->route('user'))->getRouteKey()) ], 'password' => [ 'required', 'required_with:password_confirmation', 'confirmed', 'max:255', Password::min(8) ->letters() ->mixedCase() ->numbers() ->symbols() ->uncompromised() ], ]); } }