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

Myt*_*yth 12 python django django-forms django-validation django-media

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

err*_*rrx 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'
Run Code Online (Sandbox Code Playgroud)

  • 这将类赋予表单字段的容器.如果我想将类分配给表单字段本身怎么办? (4认同)
  • @Myth:$('.error').find(':input').css('background-color','pink'); (2认同)

hol*_*erd 5

回答原来的问题。

您可以将所需的类添加到您提交表单和进行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
    })
Run Code Online (Sandbox Code Playgroud)