Пользовательская валидация формы Django для отображения ошибок на передней панели

Прямо сейчас я устанавливаю фильтр диапазона в моем проекте Django, который выглядит следующим образом. enter image description here

Что мне нужно сделать, так это предотвратить вышеупомянутое поведение, не только в логике представления, что просто, но мне нужно отобразить сообщение для использования на переднем конце что-то вроде "Low bound number cannot be higher than High bound", которое будет выглядеть следующим образом.

enter image description here

Вот мой forms.py

class MultiFilterForm(forms.Form):

    review_high = forms.IntegerField(validators = [MinValueValidator(0)],
                                min_value=0, 
                                label = 'Reviews',
                                required = False,
                                widget = forms.NumberInput(
                                            attrs={'id': 'reviewInputHigh',
                                                   'name': 'reviewHigh',
                                                   'href': '#',
                                                   'value': '',
                                                   'class': "form-control"}))
    review_choice_high =(('lte', 'Reviews <='),)
    
    reviewsign_high = forms.ChoiceField(choices = review_choice_high, label = 'Reviews <=', required = False,
                                    widget = forms.TextInput(attrs={'id': 'reviewSignHigh','class': 'form-control',}))

    review_low = forms.IntegerField(validators = [MinValueValidator(0)], 
                                min_value=0, 
                                required = False,
                                widget = forms.NumberInput(
                                            attrs={'id': 'reviewInputLow',
                                                   'name': 'reviewLow',
                                                   'href': '#',
                                                   'value': '',
                                                   'class': "form-control"}))
    
    review_choice_low = (('gte', 'Reviews >='),)

    reviewsign_low = forms.ChoiceField(choices = review_choice_low, label = 'Reviews >=', required = False,
                                    widget = forms.Select(attrs={'id': 'reviewSignLow','class': 'form-control',}))

Я думал внедрить функцию в класс Form следующим образом

def validate_bounds(review_high, review_low):
    if review_low.value > review_high.value:
        raise ValidationError('Low bound number cannot be higher than High bound')

И как-то передать входное значение review_high и review_low в эту функцию, но я не уверен, как получить входное значение пользователя из front end в forms.py. Возможно, эту функцию я бы реализовал в представлении.

Кроме того, приведет ли повышение ValidationError к результату, показанному на изображении 2? Т.е. уведомление для конечного пользователя?

Могу воспользоваться любым советом по этой теме. Спасибо

Вернуться на верх