在Django的ModelForm中更改必填字段文本

1 投票
1 回答
885 浏览
提问于 2025-04-17 22:01

在文档中提到,你可以使用 Field.error_messages() 这个函数来修改当某个字段验证失败时显示的文本。不过,我找不到在 modelForm 中这样做的方法。我尝试直接这样做:

Field.error_messages={'required': "test"} 

但这样不行,直接在字段上使用这个函数会报错,提示字段没有定义,尽管它在字段变量中是这样定义的:

fields = ['fieldname']

那么,如何在模型表单中更改这个文本呢?任何帮助都非常感谢。

1 个回答

2

对于简单的情况,你可以在你的 ModelForm 类中指定 自定义错误信息

class UserForm(forms.ModelForm):
    first_name = forms.CharField(error_messages={'required': 'test'})

    class Meta:
        model = User
        fields = ('first_name', 'last_name',...)

你还可以重写这个类的 __init__ 方法。

class UserForm(forms.ModelForm):
    class Meta:
        model = User

    def __init__(self, *args, **kwargs):
        super(UserForm, self).__init__(*args, **kwargs)

        self.fields['first_name'].error_messages = {'required': 'test'}
        ...

撰写回答