django - 如何在 Django forms 中设置允许的字符?

我想为我的表单设置允许的字符。如何在 Django 1.11 中实现此限制?

表格.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' 字段中,我只想允许数字和字母。在“电子邮件”字段中要允许数字、字母、“-”、“_”、“。”和“@”字符。并且在 'phone_number' 字段中要输入数字和 "+" 、 "#" 、 "()" 字符。

回答1

例如,您可以使用 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])

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

相似文章

随机推荐

最新文章