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回答
-
你好
问题一:判断None 只是让代码更健壮,因为你不知道用户什么时候输入一些奇怪的东西
问题二:字符串为空 长度也是小于1的,所以有点啰嗦
012020-02-20
相似问题