python - Django 如何覆盖默认表单错误消息

标签 python django django-forms django-templates django-admin

表单.py

class PhoneForm(forms.ModelForm):
    emergency_number = forms.IntegerField(required=False,error_messages={'required': 'Enter a valid phone number'})

在验证输入的数据是否为数字时,我收到默认的 django 错误消息“输入一个整数”。而不是我希望它是“输入有效的电话号码” “

从文档中我使用了上述方式,但出现了相同的消息。如何解决。

谢谢

最佳答案

像这样定义您的字段:

emergency_number= forms.IntegerField(
                      required=False, 
                      error_messages={'invalid':'Enter a valid phone number'}
                  )

在文档中看到 IntegerField 的错误键是 4:

required, invalid, max_value, min_value

因此,您必须将要覆盖的键包含在 error_messages 字典中。

顺便说一句,required 永远不会被抛出,因为您指定了 required=False

希望这有帮助!

关于python - Django 如何覆盖默认表单错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16593143/

相关文章:

python - 如何从Python中数据帧中存储的模式的字符串中提取第一个数字?

Django-Filer:如何在管理之外调用上传小部件

django - Django 中的自定义表单集模板

python - Django没有属性 'HiddenInput'

python - 如何在Python中制作可滚动的烛台图?

python - 如何在Python中实现巴科斯范式

python - 如果我有两个模型,模型 A 和模型 B,并且我希望模型 A 的字段平均值为模型 B 中字段的值

Django : Get specific columns from multiple tables

json - 在 Postgres 中存储大型 JSON 数据是不可行的,那么有什么替代方案?

python - ndb 模型应用引擎的模型表单(django 表单不适合我)