['required', 'string', 'max:255'], 'brand_website' => ['nullable', 'url', 'max:255'], 'brand_description' => ['nullable', 'string', 'max:2000'], 'brand_voice_traits' => ['nullable', 'array'], 'brand_voice_traits.*' => ['string', Rule::enum(BrandVoiceTrait::class)], 'brand_color' => $hex, 'background_color' => $hex, 'text_color' => $hex, 'brand_font' => ['sometimes', 'required', 'string', Rule::in(BrandFont::values())], 'image_style' => ['sometimes', 'required', 'string', Rule::in(ImageStyle::values())], 'content_language' => ['sometimes', 'string', Rule::in(ContentLanguage::values())], ]; } public function messages(): array { return [ 'name.required' => 'The workspace name is required.', 'name.max' => 'The workspace name must be at most 255 characters.', ]; } }