['required', 'integer', 'exists:listings,id'], 'title' => ['nullable', 'string', 'max:255'], 'description' => ['nullable', 'string', 'max:2000'], 'video_file' => ['nullable', 'file', 'mimes:mp4,mov,webm,m4v', 'max:256000'], 'is_active' => ['nullable', 'boolean'], ]; } public function messages(): array { return [ 'listing_id.required' => 'Choose a listing for the video.', 'listing_id.exists' => 'Choose a valid listing for the video.', 'video_file.mimes' => 'Video must be an mp4, mov, webm, or m4v file.', ]; } }