在默认弹出窗口中设置 Django 3 ModelForm 中的自定义错误消息 window
Set custom error messages in Django 3 ModelForm in default pop-out window
我是 Django3 的新手,现在我的任务是在 ModelForm 的默认弹出窗口 window 中创建自定义错误消息文本。
这个window:
default pop-out window, when I press submit button
Models.py
class Application_form_model(models.Model):
user_name = models.CharField(
max_length=30,
null=True
)
Forms.py
class ApplicationForm(forms.ModelForm):
class Meta:
model = Application_form_model
fields = (
'user_name',
)
widgets = {
'user_name': TextInput(
attrs={
'placeholder': 'Введіть ім\'я'
},
),
}
error_messages = {
'user_name': {
'required': _("Custom error message."),
},
}
views.py
def app_form(request):
formset = ApplicationForm(request.POST)
if formset.is_valid():
save_data = Application_form_model(
user_name=formset.cleaned_data['user_name'],
)
save_data.save()
return HttpResponseRedirect('')
return render(
request,
'application_form/application_form.html',
{
'formset': formset
}
)
这些消息是 HTML5 中元素的默认验证消息。您可以通过调用方法 setCustomValidity
.
来覆盖它
widgets = {
'user_name': TextInput(
attrs={
'placeholder': 'Введіть ім\'я'
'oninvalid'="setCustomValidity('Show a custom error message')"
},
),
}
我是 Django3 的新手,现在我的任务是在 ModelForm 的默认弹出窗口 window 中创建自定义错误消息文本。 这个window: default pop-out window, when I press submit button
Models.py
class Application_form_model(models.Model):
user_name = models.CharField(
max_length=30,
null=True
)
Forms.py
class ApplicationForm(forms.ModelForm):
class Meta:
model = Application_form_model
fields = (
'user_name',
)
widgets = {
'user_name': TextInput(
attrs={
'placeholder': 'Введіть ім\'я'
},
),
}
error_messages = {
'user_name': {
'required': _("Custom error message."),
},
}
views.py
def app_form(request):
formset = ApplicationForm(request.POST)
if formset.is_valid():
save_data = Application_form_model(
user_name=formset.cleaned_data['user_name'],
)
save_data.save()
return HttpResponseRedirect('')
return render(
request,
'application_form/application_form.html',
{
'formset': formset
}
)
这些消息是 HTML5 中元素的默认验证消息。您可以通过调用方法 setCustomValidity
.
widgets = {
'user_name': TextInput(
attrs={
'placeholder': 'Введіть ім\'я'
'oninvalid'="setCustomValidity('Show a custom error message')"
},
),
}