在 class RegForm(form.Form) 中

1.验证两次密码是否相同

from django.core.exceptions import ValidationError
def clean(self):
pwd = self.cleaned_data.get("password") # password 对应的是RegForm中的 password
re_pwd = self.cleaned_data.get("re_password")
if pwd != re_pwd:
self.add_error("re_password", ValidationError("两次密码不一致"))
    #raise ValidationError("前一阵子不加括号也行,今天不加就报错") 可以不加这一句代码
else:
return self.cleaned_data

 2.校验字段是否已存在,是否包含指定字段,局部hook

def clean_username(self):
a = ["包子", "三胖"]
username = self.cleaned_data.get("username")
is_exit = models.UserInfo.objects.filter(username=username)
if is_exit:
self.add_error("username", ValidationError("用户名重复"))
for i in a:
if i in username:
# raise ValidationError("嘿嘿")
self.add_error("username", ValidationError("不符合社会主义核心价值观"))
     return username
这个说明但定义的hook 带有字段是,返回的错误不用特意制定返回的字段
一定一定要返回username 要不会get不到

自定义Hook的更多相关文章

  1. 从以往子类化跟踪MouseLeave深入讨论VB6的自定义Hook类

    一.关于起因 之前发过一篇博文,是关于VB6中跟踪鼠标移出事件的示例(http://www.cnblogs.com/alexywt/p/5891827.html) 随着业务状况的不断发展,提出了更多的 ...

  2. ebtables hook

    1 概述 netfliter框架不仅仅在ipv4中有应用,bridge,ipv4,ipv6,decnet 这四种协议中都有应用,其中ipv4中又分开了arp和ip的两种 其实netfliter是个大的 ...

  3. 使用React Hook后的一些体会

    一.前言 距离React Hook发布已经有一段时间了,笔者在之前也一直在等待机会来尝试一下Hook,这个尝试不是像文档中介绍的可以先在已有项目中的小组件和新组件上尝试,而是尝试用Hook的方式构建整 ...

  4. logrus 剖析之 hook

    logrus 通过实现 Hook接口扩展 hook 机制,可以根据需求将日志分发到任意的存储介质, 比如 es, mq 或者监控报警系统,及时获取异常日志.可以说极大的提高了日志系统的可扩展性. ho ...

  5. Inline Hook 钩子编写技巧

    Hook 技术通常被称为钩子技术,Hook技术是Windows系统用于替代中断机制的具体实现,钩子的含义就是在程序还没有调用系统函数之前,钩子捕获调用消息并获得控制权,在执行系统调用之前执行自身程序, ...

  6. react新特性hook

    一.hook示例.   import React, { useState } from 'react'; function Example() { // 声明一个叫 “count” 的 state 变 ...

  7. GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)

    GraphQL + React Apollo + React Hook 大型项目实战(32 个视频) GraphQL + React Apollo + React Hook 大型项目实战 #1 介绍「 ...

  8. 关于为什么使用React新特性Hook的一些实践与浅见

    前言 关于Hook的定义官方文档是这么说的: Hook 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性. 简单来说,就是在 ...

  9. React Hook上车

    React Hook 是 v16.8 的新功能,自诞生以来,受到广泛的好评,在 React 版本更新中具有里程碑的意义.现在都2020年了,再不上车 React Hook 就真的 out 了... H ...

随机推荐

  1. MinTTY终端模拟器要点

    1.MinTTY是一个Cygwin和MSYS的虚拟终端: 2.支持复制和粘贴操作,支持鼠标操作和右键快捷菜单: 3.支持文本.文件.文件夹的拖放: 4.支持中文,支持UTF-8字符集,支持IME(In ...

  2. SSM单元测试时出现:Failed to load ApplicationContext的一种可能解决办法

    SSM单元测试时出现: 严重: Caught exception while allowing TestExecutionListener [org.springframework.test.cont ...

  3. Project D | Digital life

    I have a dream. 1999年黑客帝国就已经提出了数字化生命的雏形,近些年的黑镜和其他科幻电影更是脑洞大开,但是生命科学的进展却差强人意. 当今人类世界里有三大复杂系统:以细胞为基础的生命 ...

  4. regression | p-value | Simple (bivariate) linear model | 线性回归 | 多重检验 | FDR | BH | R代码

    P122, 这是IQR method课的第一次作业,需要统计检验,x和y是否显著的有线性关系. Assignment 1 1) Find a small bivariate dataset (pref ...

  5. English trip EM1 - PE2 My My name is... Teacher:Lamb Key: introduce myself

    课上内容(Lesson) Lamb let us does introduce myself. Make a "hangman" game at warm-up . How to ...

  6. Appium + Python环境搭建(移动端自动化)

    安装JDK,配置JDK环境    百度搜索下载就行,这里分享一个下载链接:https://pan.baidu.com/s/1snuTOAx 密码:9z8r. 下载好后点击进行安装.安装好后进行环境变量 ...

  7. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  8. SQLyog 连接主机的时候出现错误

    这个 连接主机的时候出现: 这个时候打开cmd 找到mysql 的bin目录 输入 mysqld  -nt -remove  即可   直接登录,注意这里的d代表的是服务端 接下来就可以不用输入密码直 ...

  9. Underscore源码阅读极简版入门

    看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: https://github.com/hanzichi/underscore-an ...

  10. SVN上传文件自动更新到发布站点

    源码安装svn, version 1.9.5 ###########服务端源码安装############# IP:192.168.1.13 安装依赖:              # yum -y i ...