我正在使用Django创建联系表单,而我似乎无法弄清楚此消息(检查图像如下)的来源。这是一个本地化(葡萄牙语)消息,说“请输入电子邮件地址”。 它不是字段错误消息(我已对其进行了自定义,它显示在字段下方,英文版)。我认为这是field.help_text但我也能够改变它,这个外国消息仍然出现。
有谁知道如何覆盖和设置此类消息的样式? 提前谢谢!
<form action="" method="POST" class="form"> {% csrf_token %}
{% for field in form %}
<div class="fields-container">
<label class="label">{{ field.label }}</label>
{{ field }}
</div>
<p class="server-form-errors"> {{ field.errors.as_text }} </p>
{% endfor %}
<button type="submit" id="form-button">Submit</button>
</form>
forms.py:
from django import forms
from django.core.validators import RegexValidator # import!
class ContactForm(forms.Form):
full_name = forms.CharField(required=True)
email = forms.EmailField(validators=[RegexValidator(regex=r'^[a-zA-Z\d.+*?=_@^$%&#´\{\}\|~-]+@([a-zA-Z0-9@-_]+)(\.[a-zA-Z0-9@-_]+)+\b')]
, error_messages={'invalid': 'Please enter a valid email address.'})
message = forms.CharField(widget=forms.Textarea)
答案 0 :(得分:2)
错误消息来自您的浏览器(例如Chrome),而不是来自Django。它正在验证该字段,因为它具有type="email"
。我认为错误是葡萄牙语,因为您的浏览器设置为葡萄牙语。
您可以通过设置novalidate
属性来阻止浏览器验证表单。
<form method="post" novalidate>
<input type="email" />
<input type="submit" />
</form>