表单校验之novalidate

用django写后台项目,表单使用form,在模板中这样渲染:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method="post" novalidate action="{% url 'users:login' %}">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="error-msg">
{% for error in form.non_field_errors %} {{ error }} {% endfor %}
</div>
{% endif %}
{% for field in form.visible_fields %}
<div class="form-group{% if field.errors %} has-error{% endif %}">
<label>{{field.label}}</label>
{{ field }} {% if field.help_text %}
<span class="help-block">{{ field.help_text|safe }}</span>
{% endif %} {% for error in field.errors %}
<span class="error-msg">{{ error }}</span>
{% endfor %}
</div>
{% endfor %}
<div class="form-group">
<button type="submit" class="btn-submit">登录</button>
</div>
</form>

因为账号和密码等等字段都是必填的,有required属性,自带的提示根据浏览器和语言都会不一样。这不是我想要的效果

作为一个前端工程师,在后端小朋友的提示下,给表单加了novalidate属性,来去除默认的提示。然后再自己写error-msg样式。有点忧伤
参考阅读: