在django中验证错误时将css类添加到字段

时间:2011-01-31 05:32:13

标签: python django django-forms django-validation django-media

我正在使用Django的模型并且非常好。如果存在与之关联的验证错误,如何突出显示实际文本框(例如border:red)。基本上我想要的是在字段存在验证错误时添加一个类(错误)。

5 个答案:

答案 0 :(得分:15)

定义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'

答案 1 :(得分:2)

扩展errx的答案。

添加CSS

.error input, .error select {
    border: 2px red solid;
}

专门突出显示字段

答案 2 :(得分:1)

试试这个?

self.fields['field_you_want_to_add_error'].widget.attrs['class'] = "error"

答案 3 :(得分:0)

回答原始问题。

您可以将所需的类添加到视图中要提交表单并进行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
    })

答案 4 :(得分:0)

模板:

<div style="color:red">{{ userForm.short_description.errors.as_text  }}</div>