В форме я хотел бы иметь определенные поля, которые установлены как пустые, если они содержат ошибки проверки. Например, если у меня есть десятичное поле, называемое price
, и оно имеет недопустимое значение blue, я бы просто просто установил поле равным нулю.Django Forms - указать поле пустым, если поле содержит ошибки
Это будет использоваться для создания фильтров поиска по строкам запроса, поэтому, если есть лучшее решение, сообщите мне.
Edit 2
class SearchForm(forms.Form):
q = forms.CharField()
price = forms.DecimalField(required=False)
Я хотел бы форму, чтобы иметь возможность обрабатывать недопустимые значения полей таким образом, чтобы форма не становится недействительной. Например, если у меня есть ?q=car&price=100
, форма будет работать. Если у меня есть ?q=car&price=circle
, я бы хотел, чтобы форма заметила ошибку (значение не является десятичной), но вместо того, чтобы сделать форму недействительной, просто сделайте поле пустым.
clean_*
был бы полезен для проверки неточечных ошибок, да? (Ошибки, связанные с типом поля, уже были проверены и аннулированы формой). Если да, то как я должен искать эти ошибки?
Мой подход может быть совершенно неправильным здесь - я в основном пытаюсь создать поисковые фильтры.
Как я могу поймать обычные ошибки проверки поля (которые я бы сбросил поля), чтобы они не сделали мою форму недействительной? – RS7
Извините, не уверен, что вы спрашиваете, что уже не покрывается моим ответом. Можете ли вы привести пример? –
Я редактировал свой оригинальный вопрос. Надеюсь, это поможет. Пожалуйста дайте мне знать, спасибо – RS7