Django中使用def clean()函数对表单中的数据进行验证
2016-08-19 10:17
645 查看
最近写的资源策略管理,在ceilometer 中创建alarm时,name要求是不能重复的,所以在创建policy的时候,要对policy的name字段进行验证,而django中正好拥有强大的表单数据验证的功能。
#这是policy中的name字段,在表单的数据进行提交的时候,所有的数据流会经过clean()这个函数 name = forms.CharField(max_length=255, label=_("Name"))
#在clean函数中先取出表单中的name字段,在从数据库里面拿到所有的数据进行检查 def clean(self): cleaned_data = super(CreatePolicyForm, self).clean() name = cleaned_data.get('name') try: policys = api.nova.policy_list(self.request) except: exceptions.handle(request, _('Unable to retrieve policys list.')) if policys is not None and name is not None: for policy in policys: if policy.name.lower() == name.lower(): raise forms.ValidationError( _('The name "%s" is already used by another policy.') % name ) return cleaned_data
相关文章推荐
- Angular使用ng-messages与PHP进行表单数据验证
- wicket基础应用(1)--使用wicket对表单中的数据进行验证
- wicket基础应用(1)--使用wicket对表单中的数据进行验证
- Angular使用ng-messages与PHP进行表单数据验证
- jQuery中使用ajax对表单数据进行异步验证
- 在使用django 的过程中难免的会使用到format表单进行提交,如果出现“CSRF验证失败. 相应中断”.该如何解决呢?
- 使用jquery validate和ajax进行表单验证并向后台提交数据
- 使用Django的ModelForm对表单进行自动验证(可自定义验证规则)
- 使用JSP代码和使用JavaScript代码进行表单数据验证有什么不同?
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证
- ASP.NET - 如何:使用自定义函数对 ASP.NET 服务器控件进行验证
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- SQL SERVER2000教程-第五章 处理数据 第十七节 使用CASE函数格式进行条件查询
- 使用正则表达式进行xml数据验证
- 使用Ext Viewport进行页面布局时Panel中的sumit按钮无法提交表单数据
- 使用正则表达式进行xml数据验证
- 如何:使用自定义函数对 ASP.NET 服务器控件进行验证
- 使用javascript和正则表达式进行数据验证
- 使用正则表达式进行xml数据验证