[英]Django - RegexValidator using special expressions
如何在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')
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.