Django: Как обновить атрибут класса недействительного поля формы для отображения сообщений об ошибках в Bootstrap 5?
Когда я использую валидацию на стороне сервера в Bootstrap 5, мне нужно добавить класс .is-invalid
к полю формы ввода с ошибкой, чтобы отобразить его в div с class="invalid-feedback"
. Для обновления атрибута class поля формы в Django я могу сделать следующее, как указано в docs:
class CommentForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['name'].widget.attrs.update({'class': 'special'})
self.fields['comment'].widget.attrs.update(size='40')
Но я не могу понять, как добавить .is-invalid
в поле формы, когда форма возвращается недействительной. В документации я нашел this, но это не работает.
Я не знаю правильного пути, но так я сделал свою работу
if form.is_valid():
form.save()
return redirect("success")
else:
for field in form.errors:
form[field].field.widget.attrs['class'] += ' is-invalid'
это добавит класс is-invalid ко всем недействительным полям
.
Примечание:не забудьте добавить пробел ' is-invalid'