如何在Django表单中设置允许的字符?



我想为我的表单设置允许的字符。如何在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])

但是当有人提供不允许的字符时,您需要处理错误

最新更新