我想为我的表单设置允许的字符。如何在Django 1.11中实现这个限制?
forms.py
from django import forms
from .models import Customer
class CustomerForm(forms.ModelForm):
class Meta:
model = Customer
fields = (
'order_id','full_name','company','email',
'phone_number','note')
更具体地说,在'full_name', 'company'和'note'字段,我只想允许数字和字母。在"电子邮件"字段希望允许数字,字母,"-"、";_","!"one_answers";@"字符。在'phone_number'字段想要数字和"+","#";,"()";字符。
你可以这样使用RegexValidator:https://docs.djangoproject.com/en/1.11/ref/validators/django.core.validators.RegexValidator
from django.core.validators import RegexValidator
AlphanumericValidator = RegexValidator(r'^[0-9a-zA-Z]*$', 'Only alphanumeric characters are allowed.')
name = models.CharField(max_length=50, validators=[AlphanumericValidator])
但是当有人提供不允许的字符时,您需要处理错误