在Django中验证错误时向字段添加CSS类
我正在使用Django的modelform,这个工具真的很好用。如果某个输入框有验证错误,我该怎么让这个输入框变得显眼一点,比如把边框变成红色呢?简单来说,我想在字段有验证错误的时候,给它加上一个叫做“error”的样式。
5 个回答
3
在errx的回答基础上再补充一下。
添加以下CSS样式
.error input, .error select {
border: 2px red solid;
}
这样可以特别突出这个字段
10
来回答最初的问题。
你可以在你提交表单的视图中,把想要的类添加到字段上,然后进行 form.is_valid()
的检查。虽然这样做不是最优雅的,但确实可以实现。
def submit_form(request):
if request.method = 'POST':
if. form.is_valid():
# Do something with clean form data
pass
else:
# Append css class to every field that contains errors.
for field in form.errors:
form[field].field.widget.attrs['class'] += ' my-css-class'
return render(request, submit_form.html, {
'form': form
})
19
关于定义 error_css_class 这个东西怎么样呢? http://docs.djangoproject.com/en/dev/ref/forms/api/#styling-required-or-erroneous-form-rows?
class MyForm(ModelForm):
error_css_class = 'error'