18

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

4

5 回答 5

16

那么定义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'
于 2011-01-31T11:57:47.633 回答
6

回答原来的问题。

您可以将所需的类添加到视图中您提交表单并进行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
    })
于 2018-11-01T19:21:29.727 回答
3

扩展errx的答案。

添加 CSS

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

专门突出该领域

于 2014-04-11T14:49:24.333 回答
1

试试这个?

self.fields['field_you_want_to_add_error'].widget.attrs['class'] = "error"
于 2017-04-10T03:35:21.170 回答
1

模板 :

<div style="color:red">{{ userForm.short_description.errors.as_text  }}</div>
于 2020-04-03T03:43:15.053 回答