from django import forms from django.utils.translation import gettext_lazy as _ from pingcap_sso.discourse.lib import is_topic_exists class TopicForm(forms.Form): topic_id = forms.IntegerField(required=True) def clean_topic_id(self): topic_id = self.cleaned_data.get('topic_id') if topic_id: if not is_topic_exists(topic_id): raise forms.ValidationError(_('topic does not exist')) return topic_id