gpt4 book ai didi

python - Django - 使用特殊表达式的 RegexValidator

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:30 26 4
gpt4 key购买 nike

如何在 RegexValidator 中实现特殊表达式?

表单.py:

class MyRegistrationForm(forms.ModelForm):
alphanumeric = RegexValidator('^[A-Za-z]+$', 'Only alphabetic')
first_name = forms.CharField(max_length = 20, validators=[alphanumeric])
last_name = forms.CharField(max_length = 20, validators=[alphanumeric])

我也想使用:áàäéèëíìïóòöúùüñÁÀÄÉÈÈÍÌÏÓÒÖÚÙÜÑ,但出现“非ASCII字符”错误。还有其他的使用方法吗?

最佳答案

您可以使用 \w 说明符,但是由于 RegexValidator 没有启用 re.UNICODE 标志,您可能需要这样的东西:

import re
class MyRegistrationForm(forms.ModelForm):
re_alphanumeric = re.compile('^\w+$', re.UNICODE)
alphanumeric = RegexValidator(re_alphanumeric, 'Only alphabetic')
...

更新:如果您想排除数字字符,请使用

import re
class MyRegistrationForm(forms.ModelForm):
re_alpha = re.compile('[^\W\d_]+$', re.UNICODE)
alpha = RegexValidator(re_alpha, 'Only alphabetic')
...

关于python - Django - 使用特殊表达式的 RegexValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37129653/

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