1

更改每个字段消息都是冗余的,所以我制作了新的包装器

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吗?

谢谢你。

4

2 回答 2

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)       
于 2013-01-10T10:37:16.673 回答
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字典而不是像我一样覆盖它。

于 2013-01-10T12:02:05.533 回答