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 に答える