['required', 'array'], 'settings.*.notification_type' => [ 'required', 'string', Rule::in(PushNotificationSetting::getAllTypes()), ], 'settings.*.is_enabled' => ['required', 'boolean'], 'settings.*.sound' => [ 'nullable', 'string', Rule::in(PushNotificationSetting::getAllSounds()), ], 'settings.*.vibrate' => ['nullable', 'boolean'], 'settings.*.show_preview' => ['nullable', 'boolean'], ]; } public function messages(): array { return [ 'settings.required' => __('error.push.settings_required'), 'settings.*.notification_type.required' => __('error.push.type_required'), 'settings.*.notification_type.in' => __('error.push.type_invalid'), 'settings.*.is_enabled.required' => __('error.push.enabled_required'), ]; } }