我有以下形式:如何防止Django接受無效日期並進行轉換?
class GuaranteesForm(forms.ModelForm):
birth_date = forms.DateField(input_formats=['%d/%m/%Y'], required=True)
但是,如果用戶插入一個無效的日期,如:13/13/1999而不是拋出一個異常,Django會通過執行日期和月份域的模數轉換日期,並且順理成章地增加了數月和數年。在這個例子中,由於月份高於12,所以持續的日期是13/01/2000。
我寧願得到一個InvalidFormException,有什麼辦法來防止這種行爲?
我在Jython(DOJ)上使用Django。
我已經通過clean_birth_date實現了一個解決方案,但我覺得這很難看。我正在尋找的是一種防止這種行爲與日期一般的方法。
你可以寫你自己的清潔方法? def clean_birth_date(self):做的東西 –
我已經這樣做了,但對我而言,默認行爲接受第13個月和第60天似乎很愚蠢。 – Sirs