Tôi có một trường start_date và end_date trong mô hình của mình, tôi muốn gán lỗi để end_date khi nó lớn hơn start_date, tôi đã tìm kiếm tài liệu nhưng không tìm thấy một ví dụ về điều đó.Xác thực end_date lớn hơn start_date ở dạng Django Model
5
A
Trả lời
5
Bạn cần một chức năng tùy chỉnh sạch trong hình thức của bạn mà không được kiểm tra:
def clean(self):
start_date = cleaned_data.get("start_date")
end_date = cleaned_data.get("end_date")
if end_date < start_date:
msg = u"End date should be greater than start date."
self._errors["end_date"] = self.error_class([msg])
0
Đây là đề nghị ví dụ thực tế từ docs
Nói tóm lại, hãy nhớ quay trở lại cleaned_data, và nâng cao lỗi hình thức đúng.
from django import forms
class ContactForm(forms.Form):
# Everything as before.
...
def clean_recipients(self):
data = self.cleaned_data['recipients']
if "[email protected]" not in data:
raise forms.ValidationError("You have forgotten about Fred!")
# Always return the cleaned data, whether you have changed it or
# not.
return data
Các vấn đề liên quan
- 1. Cách xác thực định dạng ngày ở dạng Spring
- 2. Trường yêu cầu Django ở dạng mẫu
- 3. Django model Tag thiết kế
- 4. Prepopulate Django (không Model) Form
- 5. Xác thực bằng địa chỉ IP ở Django
- 6. Làm cách nào để xác thực người dùng ở Django?
- 7. lựa chọn Lazy ở dạng Django
- 8. Xác thực mẫu Django ModelForm
- 9. Lấy danh sách lỗi ở dạng Django
- 10. Lưu trữ trường động ở dạng Django
- 11. Django manytomany ở định dạng mẫu
- 12. Xác thực Django Mongodb
- 13. django: lấy chính xác dữ liệu mà ngày tháng và thời gian lớn hơn tại
- 14. Tham chiếu không bắt buộcLỗi: django không được xác định
- 15. Xác nhận một con sên ở Django
- 16. Mocking Django Model và tiết kiệm()
- 17. Cung cấp các tệp lớn (có tải cao) ở Django
- 18. Django Overriding Model Clean() vs Save()
- 19. Xác thực, xác thực người dùng và Django-ngonpie
- 20. Làm cách nào để ẩn nhãn django ở dạng django tùy chỉnh?
- 21. Cách chỉ tạo một trường dạng số ở Django
- 22. ASP.NET: Xác thực hộp văn bản chứa số nguyên lớn hơn bằng không?
- 23. Xác thực biểu mẫu trong django
- 24. Django: Hiển thị lỗi định dạng chính xác
- 25. Các hình thức Django: Thời gian xác nhận hợp lệ
- 26. Đường ray: Sử dụng lớn hơn/ít hơn với tuyên bố ở đâu
- 27. Cách tạo ChoiceField chỉ đọc ở dạng django
- 28. Các trường chỉ đọc ở dạng thức django
- 29. Cách ẩn trường khóa chính ở dạng Django
- 30. Hidden lĩnh vực ở dạng Django không cleaned_data
Closed .... này trả lời câu hỏi của tôi ... http://stackoverflow.com/questions/2117048/django-overriding-the-clean-method-in-forms-question-about- lỗi nâng cao – juanefren