2

表格.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 我使用了上述方式,但出现了相同的消息。如何解决。

谢谢

4

2 回答 2

4

像这样定义您的字段:

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

请参阅文档中的错误键为IntegerField4:

required, invalid, max_value, min_value

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

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

希望这可以帮助!

于 2013-05-16T16:59:15.313 回答
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'}
                        )
于 2013-05-16T16:55:24.633 回答