Django高级表单处理与验证实战
from django import forms
from django.core.exceptions import ValidationError
# 定义一个简单的表单类,用于展示如何进行自定义验证
class CustomForm(forms.Form):
my_field = forms.CharField(max_length=100)
def clean_my_field(self):
data = self.cleaned_data['my_field']
if 'forbidden_word' in data:
raise ValidationError('包含非法字符串')
return data
# 使用示例
form = CustomForm({'my_field': '这是一个测试字符串,包含forbidden_word'})
if form.is_valid():
print("表单数据有效")
else:
print("表单数据无效:", form.errors)
这段代码定义了一个简单的Django表单类CustomForm
,它有一个字段my_field
。在clean_my_field
方法中,我们添加了自定义的验证逻辑,检查字段中是否包含了特定的字符串forbidden_word
。如果包含,则触发一个ValidationError
异常,表示数据无效。这是一个实际的例子,展示了如何在Django表单中进行自定义字段的验证。
评论已关闭