Как сделать простую арифметическую валидацию в части шаблона - django
Я хочу проверить общую цену и цену получения при вводе пользователем, цена получения не должна быть больше общей цены.
например, у меня есть 3 поля ввода. поле a получает значение общей цены, поле b получает значение получения оплаты по карте и поле c получает значение получения оплаты наличными. поле b + поле c не должно быть больше поля a. Мне нужно проверить его и остановить отправку.
Это может быть очень просто, так как я новичок в django, я размещаю это здесь.
#forms.py
from django import forms
class YourForm(forms.Form):
a_value = forms.IntegerField(label='A value')
b_value = forms.IntegerField(label='B value')
c_value = forms.IntegerField(label='C value')
def check_values(self):
a = self.cleaned_data['a_value']
b = self.cleaned_data['b_value']
c = self.cleaned_data['c_value']
if a > b + c:
return True
return False
#views.py
class Validate(View):
template = 'validate.html'
def get(self, request):
form = YourForm()
return render(request, self.template, {'form': form})
def post(self, request):
form = YourForm(request.POST)
if form.is_valid():
if form.check_values():
return HttpResponse('Values are valid')
else:
return render(request, self.template, {'form': form, 'error': 'Values are not valid'})