这是我的代码:
class CreateUser(Form):
username = StringField('Username', [
validators.Regexp('\w+', message="Username must contain only letters numbers or underscore"),
validators.Length(min=5, max=25, message="Username must be betwen 5 & 25 characters")
])
password = PasswordField('New Password', [
validators.DataRequired(),
validators.EqualTo('confirm', message='Passwords must match')
])
confirm = PasswordField('Repeat Password')
所以问题就在3号线。我希望用户名只能是字母数字字符。出于某种原因,这个regex只检查第一个字符。+符号在这里不起作用有什么原因吗?谢谢。
我知道这个问题很久以前就有了答案,但是我发现在WTForms上提供字母数字验证的另一个选项是alphanumeric()
这里有更多详细信息https://pypi.org/project/wtforms-validators/
将regex替换为
解决了这个问题。
相关问题 更多 >
编程相关推荐