Adding css class to field on validation error in django

前端 未结 5 1123
谎友^
谎友^ 2021-01-01 18:40

I am using Django\'s modelform and its really good. How can I highlight the actual text box (e.g. border:red ) if there is a validation error associated with it. Basically

5条回答
  •  有刺的猬
    2021-01-01 19:22

    To answer the original question.

    You can add the desired class to the field in the view to where you are submitting your form and doing your form.is_valid() check. Not the prettiest but it will work.

    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
        })
    

提交回复
热议问题