|string> */ public function rules(): array { return [ 'name' => ['nullable', 'string', 'max:255'], 'slug' => ['nullable', 'required_with:name', 'string', 'max:255', 'unique:teams,slug,'.$this->route('team')->id], 'require_2fa' => ['required', 'boolean'], ]; } public function messages(): array { return [ 'slug.string' => '', 'slug.required' => '', 'slug.max' => '', 'slug.unique' => 'The name has already been taken.', ]; } protected function prepareForValidation(): void { $this->merge([ 'slug' => Str::slug($this->name), ]); } }