繁体   English   中英

Django表单无空间验证器(RegexValidator)

[英]Django Form no space validator (RegexValidator)

我写了这个验证器:

no_space_validator = RegexValidator(
    r'^[^\s]+$',
    _('No spaces allowed'),
    code='invalid_username')

我在“表单”字段中设置了它:

username = CharField(
    label='Username',
    validators=[no_space_validator])

但是它仍然允许我提交带有空格的用户名。 我看不到我的正则表达式在这里有什么错,或者我怎么不能以其他任何方式表达空格。

您可以这样操作(注意大写S):

no_space_validator = RegexValidator(
    r'^[^\S]+$',
    _('No spaces allowed'),
    code='invalid_username')

阅读文档以获取更多信息: https : //docs.djangoproject.com/en/dev/ref/validators/#regexvalidator

这是更简单的方法:

  no_space_validator = RegexValidator(
      r' ',
      _('No spaces allowed'),
      inverse_match=True,
      code='invalid_tag',
  )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM