代码之家  ›  专栏  ›  技术社区  ›  Shanmukh Adari

是否可以更改Django模型中的内置验证器消息

  •  0
  • Shanmukh Adari  · 技术社区  · 2 年前

    当我给出错误格式的电子邮件id时,它应该抛出一些其他错误消息,而不是 输入有效的电子邮件地址

    型号.py

    class Publisher(models.Model):
        email=models.EmailField(blank=True,null=True)
    

    序列化.py

    class PublisherSerializer(serializers.ModelSerializer):
            class Meta:
                model = Publisher
                fields = '__all__'
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   AKX Bryan Oakley    2 年前

    models.EmailField validators.validate_email 作为其默认验证器,其默认错误消息为 "Enter a valid email address." .

    您无法轻松覆盖字段的 default_validators ,因此您需要使用常规的CharField,以及您自己的验证器。

    email = models.CharField(
      max_length=254,  # same as EmailField
      blank=True,
      null=True,
      validators=[
        EmailValidator(message="very bad email :("),  # Custom message here.
      ],
    )