模板中的自定义表单验证错误

Posted

技术标签:

【中文标题】模板中的自定义表单验证错误【英文标题】:custom form validation errors in template 【发布时间】:2020-07-25 13:40:12 【问题描述】:

如何在模板中传递自定义表单验证错误?

forms.py

    def clean_username(self):
    inputusername = self.cleaned_data['username']
    if len(inputusername) < 6:
    raise forms.ValidationError('Sorry, your username must be between 6 and 30 characters long.')
    else:
    return inputusername

views.py

def signup(request):
signup_form = CreateUserForm()
if request.method == 'POST':
signup_form = CreateUserForm(request.POST)
if signup_form.is_valid():
signup_form.save()

context = 'signup_form':signup_form
return render(request, 'formvalidationapp/signupform.html', context)

模板

<form method="post" action="% url 'signup' %">
% csrf_token %
<div class="row">
<div class="col-sm-6">
<h1>Sign Up</h1>
</div>
</div>
<div>
#i want to pass error here
</div>

【问题讨论】:

这能回答你的问题吗? Django Forms: if not valid, show form with error message 【参考方案1】:

你可以这样试试

signup_form.username.errors

【讨论】:

兄弟在这种情况下我该怎么办? def clean_password(self): inputpassword1 = self.cleaned_data['password1'] inputpassword2 = self.cleaned_data['password2'] if inputpassword1 != inputpassword2: raise forms.ValidationError('Password did\'t match') else: return inputpassword1 ,输入密码2

以上是关于模板中的自定义表单验证错误的主要内容,如果未能解决你的问题,请参考以下文章

django 表单向导中的自定义模板 - NameError

如何根据 Angular 2 中的自定义验证规则显示错误消息?

模板和隐藏输入中的自定义 Django 表单

Django 中的自定义表单集模板

如何将 Django 的内置身份验证与自定义表单(html 模板)一起使用

SonataAdmin - 每个表单的自定义表单模板