我需要在JSON字段中检查空字符串,以便使用reqparse查看flask中的post请求。我可以用flask reqparse模块实现吗?
我试过了:
self.parser.add_argument('name',
type=str,
required=True,
trim=True,
location='json'
)
self.parser.parse_args()
正在检查{"name":"xyz"}
中的名称字段是否存在,但我还想检查空值{"name":""}
,以便我可以向用户抛出错误,该名称不能为空。是否可以使用reqparse来做到这一点?
答案 0 :(得分:1)
查看reqparse documentation和how to check for empty strings in python 你可以做点像......
args = self.parser.parse_args()
name = args['name']
if not name:
# do your foo here if name is not truthy
由于args['name']
可以返回数组,因此我会注意以下边缘情况。
[] == false
['foo'] == true
[' ', ' '] == true
所以最好按照
的方式做点什么args = self.parser.parse_args()
names = args['name']
for name in names:
if not name:
# if not truthy
答案 1 :(得分:0)
def non_empty_string(s):
if not s:
raise ValueError("Must not be empty string")
return s
parser.add_argument('name', required=True, nullable=False, type=non_empty_string)
我在以下link
中提到了此问题