更改每个字段消息都是冗余,因此我创建了新的包装器
class CharFieldWrapper(forms.CharField):
def __init__(self, *args, **kwargs):
super(CharFieldWrapper, self).__init__(*args, **kwargs)
self.error_messages = {'required' : 'XXXX: YOU SHOULD PUT SOMETHING!' }
是的,这不起作用。
有人知道如何使字段或表单的包装类更改error_messages吗?
谢谢。
答案 0 :(得分:2)
尝试将它们作为参数传递:
class CharFieldWrapper(forms.CharField):
def init(self, *args, **kwargs):
kwargs['error_messages'] = {'required' : 'XXXX: YOU SHOULD PUT SOMETHING!' }
super(CharFieldWrapper, self).init(*args, **kwargs)
答案 1 :(得分:1)
您的init
方法存在问题:
class CharFieldWrapper(forms.CharField):
def __init__(self, *args, **kwargs):
super(CharFieldWrapper, self).__init__(*args, **kwargs)
self.error_messages['required'] = 'XXXX: YOU SHOULD PUT SOMETHING!'
同时正在执行self.error_messages = {'required': 'my error msg'}
您完全覆盖error_messages
这不好,因为也可能存在其他一些验证错误。你应该像我一样更新self.error_messages
dict而不是覆盖它。