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

时间:2014-05-08 10:46:51

标签: python django django-rest-framework

我想在模型字段上使用正则表达式验证器,如果字段包含前导和尾随空格,则会抛出错误。

示例: " __正则表达式验证器" :无效

"正则表达式验证器__" :无效

"正则表达式验证器" :有效

提前告诉:)

  • __表示空格。

1 个答案:

答案 0 :(得分:1)

既然你提到了“模型字段”,这就是我的建议:

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.")])

上面的正则表达式将禁止前导或尾随空格,但会允许空字符串。如果出现问题,这将报告错误。验证数据输入时,通常需要报告错误,而不是抛出(即raise)。