为 mongoengine 0.9.0 字符串字段设置正则表达式模式



我将python 2.7.12与pymongo 2.8.1,django 1.11.7,mongoengine 0.9.0和mongodb 3.4.10一起使用。我正在创建一个自定义用户模型,该模型在常规的mongodb集合中插入文档。我从mongoengine继承了"文档"类来创建字符串密码字段。我一直在尝试为以下条件创建正则表达式模式:

  • 长度:8-25
  • 个字符
  • 至少 1 个大写字母
  • 至少 1 个小写字母
  • 至少 1 个号码
  • 至少 1 个特殊字符

我尝试通过以下方式使用 re.compile((:

import re
regexp = re.compile('[A-Za-z0-9@#$%^&+=]', max_length=25, min_length=8)
password = StringField(regex=regexp)

我发送了带有无效密码的 HTTP POST 请求,它仅在长度小于 8 或大于 25 时引发错误,否则它们会通过。我是mongoengine的新手,我不确定正则表达式参数需要什么样的输入,我也无法找到StringField的示例。那我做错了什么呢?

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[@#$%^&+=]).{8,25}$

你可以试试这个。每个条件都是使用前瞻添加的。如果需要,请添加更多特殊字符。

请参阅演示。

相关内容

  • 没有找到相关文章

最新更新