📅  最后修改于: 2023-12-03 14:41:00.508000             🧑  作者: Mango
在 Django 中,表单字段可以使用许多验证器来确保输入数据有效。 通过使用这些验证器,可以轻松地检查表单数据,并根据需要强制执行任何限制和规则。 这种类型的验证可以确保数据在传递到数据库之前符合特定的标准,超出这些限制的任何数据都将被拒绝。
在本文中,我们将探讨 Django 内置的验证功能中的 error_messages 呈现方式,并将其与其他错误呈现方式进行比较。
error_messages 是一个字段选项,它允许自定义 Django 中的验证器错误消息。 通过使用 error_messages,可以确保错误消息适合特定的用例,提高了数据传输的可读性,这在构建 Web 应用程序时非常有用。
以下是一个简单的示例表单类:
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100, error_messages={
'required': 'This field is required.',
'max_length': 'This field cannot exceed 100 characters.'
})
message = forms.CharField(widget=forms.Textarea, error_messages={
'required': 'This field is required.'
})
sender = forms.EmailField(error_messages={
'required': 'This field is required.',
'invalid': 'Please enter a valid email address.'
})
cc_myself = forms.BooleanField(required=False)
上面的表单会为“subject”和“message”字段使用不同的错误消息,并为“sender”字段同时使用 required 和 invalid 错误消息。
当表单验证失败时,Django 会返回错误字典。 我们可以在这个字典中使用这些自定义的错误消息。
error_messages 允许您定义每个字段的错误消息,但 Django 还提供了另一种错误呈现方式:过滤器。过滤器在验证器之前执行,因此可以处理输入数据。如果输入数据不包含所需的字符集,则可以在尝试验证之前删除或修复它们。
在 Django 的 Form 中,您还可以重载 clean() 方法。 Django 使用 clean() 方法来验证表单并检查字段之间的依赖关系。 虽然有时确实需要使用没有 error_messages 的 clean() 方法,但在许多情况下,使用 error_messages 是更好的选择,因为它在代码中更直观,并且可以使验证具有更好的可读性。
在 Django 中,使用 error_messages 可以很容易地定义自己的错误消息,从而大大提高了数据传输的可读性。 与其他 Django 错误呈现方式相比,使用 error_messages 的代码更清晰,更具可读性,易于维护。