9-4 关于注册功能对前端参数校验逻辑的疑问

来源:9-5 注册功能实现(3)

以病制病

2020-02-19

以下是注册功能代码,路径是:ppt9/9.3/common/libs/UrlManager.py,鼠标右键打开对应代码

1、怀疑代码逻辑严谨性。
request.values 先接收参数,没有参数则设置为空字符串。

接着判断用户名长度是否小于一,这个逻辑正常,比较是否为 None,这在 Python 看来会报错的呀,空字符串不是 None 对象。

req = request.values
login_name = req['login_name'] if "login_name" in req else ""

if login_name is None or len( login_name ) < 1:
        return ops_renderErrJSON( msg = "请输入正确的登录用户名~~" )
...

2、请问老师以下写法是否正确或者说更好?

# 写法1,应当判断是否为空字符串
if len(login_name) < 1 or login_name == '':
    return ops_error_json(msg='请输入用户名')

# 写法2,当 a 为空,字符串则是 False
if len(login_name) < 1 or a:
    return ops_error_json(msg='请输入用户名')
写回答

1回答

编程浪子

2020-02-19

你好

问题一:判断None 只是让代码更健壮,因为你不知道用户什么时候输入一些奇怪的东西 

问题二:字符串为空 长度也是小于1的,所以有点啰嗦

0
1
以病制病
非常感谢!
2020-02-20
共1条回复

Python Flask入门与进阶 开发电影网站

从只会Python基础语法到

824 学习 · 283 问题

查看课程