我试图将一些自定义错误消息添加到这样的表单中:
class RegistrationForm(forms.ModelForm):
class Meta:
model = User
fields = ('email',)
extra_field = forms.CharField(error_messages={
'required':'Este campo es requerido'
})
将自定义错误消息添加到表单(extra_field
)中声明的字段时没有问题,但是我无法将自定义错误消息添加到从模型User
继承的字段中通过meta
课程(email
)。
我真正想要的是自定义此表单的所有错误消息。另外,我想用西班牙语展示它们,而不是英语。
到目前为止,我还没有找到任何关于如何自定义从模型User继承的表单字段的文档,我真的不想因为错误消息而编写新表单。
提前致谢!!!
PD:我在debian挤压盒中使用Django 1.4和python 2.6.6。答案 0 :(得分:1)
好的伙计们,谢谢大家的答案,事实上你帮助了我很多!!!
我解决了这个问题:
Suposse我有这样的表格:
class RegistrationForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'email')
我想在用户名字段中添加自定义错误消息,但我不想放弃该字段已经存在的所有验证。
我将此方法添加到我的RegistrationForm类:
def clean_username(self):
data = self.cleaned_data
# My extremely important validation.
if len(data['username']) == 5:
self.fields['username'].error_messages["myerror"] = "The important message"
raise forms.ValidationError(self.fields['username'].error_messages["myerror"])
return data['username']
这种方法的优点是我不会遗漏已经涉及的字段的其他验证检查。
这很重要,因为现在我不必验证用户已存在于我的数据库中。
感谢您的回复,祝您有个美好的一天!
答案 1 :(得分:0)
USE_I18N = True
LANGUAGE_CODE = 'es'
模型User
与其他模型没有区别。用你的代码来弄清楚问题。
在您的元类中,fields = ('email')
必须是元组或列表,即fields = ('email', )
答案 2 :(得分:0)
您可以通过简单地重新定义它们来覆盖任何继承的字段,方法与定义额外字段的方式完全相同。