课程中提到的修改密码前端表单验证在哪呢

来源:13-4 修改密码

ahomm

2020-12-29

问题一:

js和HTML中都没有找到判断是否大于六位的部分,写在哪里呢?


问题二:

使用表单验证的clean方法后,输入修改密码长度不足不会报错,再次注释掉clean方法,使用原来view里面的方法却可以提示

form表单clean方法验证没有错误信息,但后台报错了

http://img1.sycdn.imooc.com/szimg/5feb49e6093cb53f18840306.jpg

这是Debug的内容,能够查询到errors里有错误信息,但没有显示出来

http://img.mukewang.com/szimg/5feb4a8909670e1818980410.jpg

写回答

2回答

bobby

2020-12-31

//img.mukewang.com/szimg/5fed49cb09d295b405940421.jpg js的验证逻辑是在这个文件的最后面

0
0

ahomm

提问者

2020-12-31

关于问题二的解答:

    老师在clean方法中使用的是self.cleaned_data['password1']

当字段层验证未通过时,返回的cleaned_data为空会导致出现上图错误找不到key 'password1'

前面的其他表单验证之所以没出错是用的dict.get()如果没有对应的key会返回None,所以不会报错;

想要正常验证密码长度可以在从cleaned_data取值前加上 if not self.errors:

或者修改为get()

0
3
bobby
回复
ahomm
clean方法确实会在某一个字段没有通过的时候执行,因为有可能你需要自己改一下统一的验证逻辑
2021-01-01
共3条回复

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程