让我说我有模特:
class Subscription(models.Model):
address = models.CharField(max_length=255)
然后我创建表单:
class SubscriptionForm(ModelForm):
class Meta:
model = Subscription
fields = ['address']
def clean_address(self):
email = self.cleaned_data['address']
#VALIDATE HERE IF IT IS EMAIL
return email
如何将email validator应用于我的字段而不更改模型?
编辑:这有可能吗?答案 0 :(得分:1)
您最好只在模型中设置验证器。无论如何,添加验证器并不会影响数据库,因此它并没有真正改变数据库模型。
但是如果你真的想调用验证器那么就这样做。
from django.core.validators import EmailValidator
def clean_address(self):
email = self.cleaned_data['address']
EmailValidator()(email)
答案 1 :(得分:0)
将验证码添加到validator
的{{1}}字段:
CharField
但是你应该考虑改用from django.core.validators import EmailValidator
emailvalidator = EmailValidator(message="invalid email")
class Subscription(models.Model):
address = models.CharField(max_length=255, validators=[emailvalidator])
。