forms.py
class PhoneForm(forms.ModelForm):
emergency_number = forms.IntegerField(required=False,error_messages={'required': 'Enter a valid phone number'})
虽然验证输入的数据是数字,但我收到了默认的django错误消息"Enter a whole number"
。而不是我希望它是"Enter a valid phone number"
。
从Doc我用上面的方法,但是出现了同样的信息。如何解决。
由于
答案 0 :(得分:3)
像这样定义你的字段:
emergency_number= forms.IntegerField(
required=False,
error_messages={'invalid':'Enter a valid phone number'}
)
在文档中查看IntegerField
的错误键是4:
required, invalid, max_value, min_value
因此,您必须在要覆盖的error_messages
dict中包含密钥。
顺便说一下,required
永远不会被抛出,因为你指的是required=False
。
希望这有帮助!
答案 1 :(得分:1)
您还需要为invalid
值指定消息,如
class PhoneForm(forms.ModelForm):
emergency_number = forms.IntegerField(required=False,
error_messages={'required': 'Enter a valid phone number',
'invalid': 'Enter a valid phone number'}
)