Python RegexValidator不允许在CharField中使用尾随空格

Python RegexValidator不允许在CharField中使用尾随空格,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想要一个模型字符字段上的正则表达式验证器,如果字符字段包含前导和尾随空格,它将抛出错误 例如: “_regex验证程序”:无效 “正则表达式验证程序”:无效 “正则表达式验证器”:有效 预付款:) __表示空白 既然您提到了“模型字符字段”,我建议您: from django.db import models from django.core.validators import RegexValidator field = models.CharField(max_length=100,

我想要一个模型字符字段上的正则表达式验证器,如果字符字段包含前导和尾随空格,它将抛出错误

例如: “_regex验证程序”:无效

“正则表达式验证程序”:无效

“正则表达式验证器”:有效

预付款:)

  • __表示空白
既然您提到了“模型字符字段”,我建议您:

from django.db import models
from django.core.validators import RegexValidator

field = models.CharField(max_length=100,
    validators=[RegexValidator(r"^\S.*\S$|^\S$|^$",
                               "This field cannot start or end with spaces.")])

上面的regexp将不允许前导或尾随空格,但允许空字符串。如果出现问题,将报告错误。验证数据输入时,您通常希望报告错误,而不是抛出错误(即
引发
)。

对此表示抱歉。我在一个交互式Python会话中尝试了多个正则表达式,在测试时遇到了麻烦。我已经编辑了我的答案。