表单验证中的自定义验证器不是很理解

来源:2-2 用户注册页面开发(下)-注册表单验证

昊___

2020-09-06 17:10:50

def validate_username(self,field):
    '''检测用户名是否已经存在'''
    user = User.query.filter_by(username = field.data).first()
    if user:
        raise ValidationError('该用户名已经存在')
    return field

这个函数中的field是指的什么?user = User.query.filter_by(username = field.data).first() 这一行代码中为什么可以直接通过field.data得到用户名?如果最后的.first()换成 .all()有没有影响?

写回答

1回答

时间,

2020-09-06

同学,你好。

1、field是固定参数,会得到验证字段的标签<input id="username" name="username" type="text" value="admin">,field.data可以得到验证字段的值

http://img.mukewang.com/climg/5f54b2590994acbb09760224.jpg

2、后面跟all()方法返回值是一个列表;跟first()方法返回值是模型类User的实例对象

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~


0

0 学习 · 2433 问题

查看课程