我有一个非常简单的表格:
from django import forms
class InitialSignupForm(forms.Form):
email = forms.EmailField()
password = forms.CharField(max_length=255, widget = forms.PasswordInput)
password_repeat = forms.CharField(max_length=255, widget = forms.PasswordInput)
def clean_message(self):
email = self.clean_data.get('email', '')
password = self.clean_data.get('password', '')
password_repeat = self.clean_data.get('password_repeat', '')
try:
User.objects.get(email_address = email)
raise forms.ValidationError("Email taken.")
except User.DoesNotExist:
pass
if password != password_repeat:
raise forms.ValidationError("The passwords don't match.")
这是自定义表单验证的完成方式吗?我需要评估email
该电子邮件地址当前没有用户存在。我还需要评估password
并password_repeat
匹配。我该怎么做呢?
要单独验证单个字段,可以在表单中使用clean_FIELDNAME()方法,因此对于电子邮件:
def clean_email(self):
email = self.cleaned_data['email']
if User.objects.filter(email=email).exists():
raise ValidationError("Email already exists")
return email
然后对于相互依赖的共同依赖字段,你可以覆盖在单独验证clean()
所有字段(email如上)之后运行的forms
方法:
def clean(self):
form_data = self.cleaned_data
if form_data['password'] != form_data['password_repeat']:
self._errors["password"] = ["Password do not match"] # Will raise a error message
del form_data['password']
return form_data
我不确定你从哪里来clean_message()
,但是看起来这是为message
你的表单中似乎不存在的字段设计的一种验证方法。
表单验证发生在数据验证之后。如果你需要定制化这个过程,有几个不同的地方可以修改,每个地方的目的不一样。表单处理过程中要运行三种类别的验证方法。它们通常在你调用表单的is_valid() 方法时执行。还有其它方法可以触发验证过程(访问errors 属性或直接调用full_clean() ),但是通用情况下不需要。 一般情况下,如果处理的数据有问题,每个类别的验证方法都会引发ValidationErr
本文向大家介绍jquery自定义表格样式,包括了jquery自定义表格样式的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery自定义表格样式实现代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 上面这张图有3种状态,默认状态(灰白相间),鼠标悬浮状态(绿色),鼠标点击状态(黄色),是如何实现的呐? Html代码如下: 插件实现代码如下: 有些时候我们可能并不需要鼠标点击后
具有自定义验证的基本HTML5表单。如果提交的值不是数字,浏览器应显示错误消息“字段必须是数字”如果输入“abc”并按submit(或按enter键),该字段将标记为无效,但不会显示错误消息。再次按submit(或按enter)将显示消息。这种双重提交行为出现在Windows和OS X上最新版本的Firefox、Chrome、Safari和IE上。您会注意到默认的“此字段是必需的…”消息在第一次提
Spring靴2.0.3。发布,javax。验证2.0.1。最后一个选项被使用。 我需要验证进入控制器的请求: 这叫做服务: 将对象保存到MongoRepository方法
我创建一个自定义注册表单在wordpress买我有以下错误,我似乎找不到什么导致他们。 注意:未定义的变量:new_user在第219行的 /Applications/MAMP/htdocs/****/wp-内容/插件/护理匹配/carematch.php 注意:未定义的变量:错误 /Applications/MAMP/htdocs/****/wp-内容/插件/护理匹配/carematch.php
本文向大家介绍Android自定义View实现课程表表格,包括了Android自定义View实现课程表表格的使用技巧和注意事项,需要的朋友参考一下 自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指点 创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数,和节数大概的布局三这样的 根据上