我在Django Admin中的模型表单上定义了一些验证器:
class AddressesAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(AddressesAdminForm, self).__init__(*args, **kwargs)
self.fields['unitorsuitenumber'].validators = [MinValueValidator(1), MaxValueValidator(1000)]
self.fields['streetaddress'].validators = [RegexValidator(regExAlphanumericSpacesCommasPeriods)]
在Meta for ModelForm中,我可以覆盖错误消息:
error_messages = {
'unitorsuitenumber': {
'min_value': _('Ensure Unit/Suite Number value is at least %(limit_value)d ' +
'(Current value is %(show_value)d).'),
'max_value': _('Ensure Unit/Suite Number value is not more than %(limit_value)d ' +
'(Current value is %(show_value)d).'),
},
'streetaddress': {
'regexvalidator': _('Only numbers, letters, periods, spaces and dashes are allowed'),
},
}
两个问题:
对于正则表达式验证程序,错误消息没有被替换为我的自定义消息。在最小值和最大值的验证器上,我必须为属性指定最小值和最大值以覆盖消息。但是对于正则表达式验证器,我应该覆盖哪个属性?此外,对于任何给定的验证器,我如何知道要覆盖错误消息的正确属性?我想在这里用Meta来做这个,而不是别的
我看到对于MinValue和MaxValue验证器,在字符串、%(limit_value)d和%(show_value)d中有一些变量可供我使用。我想知道如何知道对于任何给定的验证器,哪些变量对我可用。还有,是否有一个变量可以用于verbose_name,比如%(verbose_name)d?例如,我可以用一个变量替换我的硬编码单元/套件号,然后能够使错误消息通用
目前没有回答
相关问题 更多 >
编程相关推荐