Django+;引导模式窗体仍然显示Djangos默认错误,而不是引导错误?

Django+;引导模式窗体仍然显示Djangos默认错误,而不是引导错误?,django,twitter-bootstrap,twitter-bootstrap-3,django-forms,Django,Twitter Bootstrap,Twitter Bootstrap 3,Django Forms,我正在努力在弹出式表单模式中显示引导表单错误。当我提交表单时,由于缺少一些必填字段,我仍然会收到Django内置的基本表单错误消息,或者即使某个字段需要小数,我输入文本,我会收到一个错误,但仍然是Django内置的基本验证错误。我正在使用crispyforms和bootstrap来尝试在页面上以更好的方式显示错误 这就是现在显示错误的方式 我这里有一个简单的表格 {% load crispy_forms_tags %} <form role="form" meth

我正在努力在弹出式表单模式中显示引导表单错误。当我提交表单时,由于缺少一些必填字段,我仍然会收到Django内置的基本表单错误消息,或者即使某个字段需要小数,我输入文本,我会收到一个错误,但仍然是Django内置的基本验证错误。我正在使用crispyforms和bootstrap来尝试在页面上以更好的方式显示错误

这就是现在显示错误的方式

我这里有一个简单的表格

{% load crispy_forms_tags %}


<form role="form" method="post" name="employee-add" id="employee-add"  action="{% url 'employee_add' company_id %}">
  {% csrf_token %}
    <input type="hidden" id="companyID" name="comp" value="{{ company_id }}">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title">Add Employee</h4>
  </div>
  <div class="modal-body">
        <div class="modal-inner defult-inner">
    {% for field in employee_form %}
          <div class="form-group{% if field.errors %} has-error{% endif %}">
                {{ field|as_crispy_field }}
            {% for error in field.errors %}
              <span class="error-msg">{{ error }}</span>s
            {% endfor %}
          </div>
    {% endfor %}
      <div class="footer-button employee-footer">
        <button class="btn btn-default" data-dismiss="modal">Cancel</button>
        <button class="btn btn-danger" id="save">Save</button>
      </div>
    </div>
  </div>
</form>
Django视图

@csrf_protect
def employee_create(request, company_id):

    template_name = 'business/employee-create.html'
    data = dict()
    company = Company.objects.get(id=company_id)


    if request.method == 'POST':
        employee_form = EmployeeForm(request.POST)
        if employee_form.is_valid():
            logger.debug('Valid')
            emp = employee_form.save(commit=False)
            emp.company = venue
            emp.user = request.user
            emp.save()
            return redirect('comp_detail', company_id=company_id)
        else:
            logger.debug('Error')

    else:
        employee_form = EmployeeForm()
        data['html_form'] = render_to_string(
            template_name,
            {'employee_form': employee_form, 'company_id': company.id},
            request=request,
        )
    return JsonResponse(data)
我觉得这里好像有什么东西

{% for field in employee_form %}
          <div class="form-group{% if field.errors %} has-error{% endif %}">
            {{ field|as_crispy_field }}
        {% for error in field.errors %}
          <span class="error-msg">{{ error }}</span>s
        {% endfor %}
      </div>
{% endfor %}
{employee_form%]中字段的%
{{field | as_crispy_field}
{%字段中有错误。错误%}
{{error}}s
{%endfor%}
{%endfor%}

因为,当我检查页面时,
has error
类从未出现。然后,如果我删除
{%if field.errors%}
行,只添加
has error
类,则表单将加载漂亮的红色引导表单边框。因此我知道引导已正确加载。

您需要在浏览器中禁用验证。只需在表单中添加
novalidate

<form novalidate="novalidate">...</form>
。。。

尝试将此
{%用于form.non_field_errors%}
中的错误。希望它能解决您的问题。

hmm刚才的操作将我发送到一个页面,在else语句中显示JSON<代码>{form\u有效:False}
<form novalidate="novalidate">...</form>