gpt4 book ai didi

regex - Django 字段正则表达式验证

转载 作者:行者123 更新时间:2023-12-04 15:22:32 27 4
gpt4 key购买 nike

我正在尝试创建一个模型来存储主题标签。

验证器似乎不起作用,使该字段接受所有输入,但我找不到解决方案。

这是我的模型:

class Hashtags(models.Model):
hashtag_validator = RegexValidator(r'^[#](\w+)$', "Hashtag doesn't comply.")
hashtag_id = models.AutoField(primary_key=True)
hashtag_text = models.CharField(max_length=100, validators=[hashtag_validator], unique=True)

def get_id(self):
return self.hashtag_id

def get_text(self):
return self.hashtag_text

最佳答案

您可以将其更改为下面给定的代码以查看它的工作情况

hashtag_validator = CharField(
max_length=50,
required=True, #if you want that field to be mandatory
validators=[
RegexValidator(
regex='^[#](\w+)$',
message='Hashtag doesnt comply',
),
]
)

希望有帮助!!

如果这导致问题,您可以尝试编写自己的验证器
from django.core.exceptions import ValidationError
import re
def validate_hash(value):
reg = re.compile('^[#](\w+)$')
if not reg.match(value) :
raise ValidationError(u'%s hashtag doesnot comply' % value)

并将您的模型字段更改为
hashtag_validator = models.Charfield(validators=[validate_hash])

关于regex - Django 字段正则表达式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com