【问题标题】:Overloading error messages in Django forms在 Django 表单中重载错误消息
【发布时间】:2013-06-22 00:11:31
【问题描述】:

您好,我正在尝试向我的 django 表单提供一些自定义错误消息。有没有什么地方可以找到每个默认错误消息过载的键?

例如,这是我的电子邮件表单

email = forms.EmailField(
    min_length=6,
    max_length=60,
    error_messages={
        'required':'Please fill in all of the fields',
        'invalid':'Please enter a valid email format',
        'invalid_length':'Email must be inbetween 6 and 60 characters'
    },

带有“必需”和“无效”键的 error_messages 成功重载,但我不知道其他错误的任何其他键(我只是猜测第三个错误)。

我收到的有关长度的默认错误消息是“确保此值至少有 6 个字符(它有 5 个)。”

如果有人知道正确的密钥会很棒,但很高兴知道在哪里可以找到这些密钥,这样我也可以重载其他错误。

谢谢!

【问题讨论】:

    标签: django forms error-handling overloading


    【解决方案1】:

    它们取决于字段和该字段实现的验证器。如果您在 django 源代码中的 fields.py 中搜索“default_error_messages”,您可以看到您可以期待什么:

    https://github.com/django/django/blob/master/django/forms/fields.py

    例如,CharField 实现了 two extra validators MaxLengthValidatorMinLengthValidator 因此,如果您想覆盖这些错误的消息(如果它们被引发),您可以添加到您的 error_messages

    error_messages : {
        'min_length' : '...',
        'max_length' : '...', 
    }
    

    【讨论】:

    • 这就是我所需要的!谢谢!
    猜你喜欢
    • 2016-09-04
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2018-06-26
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多