Django高级表单处理与验证实战
    		       		warning:
    		            这篇文章距离上次修改已过420天,其中的内容可能已经有所变动。
    		        
        		                
                
from django import forms
from django.core.exceptions import ValidationError
 
class AdvancedForm(forms.Form):
    # 定义一个简单的字符串字段
    your_name = forms.CharField(max_length=100)
 
    # 定义一个清理 your_name 字段的方法
    def clean_your_name(self):
        data = self.cleaned_data['your_name']
        if 'magic' in data.lower():
            raise ValidationError('不好意思,不允许包含 "magic" 字样。')
        return data
 
# 使用表单类进行数据验证
form = AdvancedForm(data={'your_name': 'Do some magic!'})
if form.is_valid():
    print('所有数据都通过验证:', form.cleaned_data)
else:
    print('表单无效:', form.errors)这段代码定义了一个Django表单类AdvancedForm,它包含一个字段your_name,最大长度限制为100个字符。在clean_your_name方法中,我们添加了自定义的验证规则,如果输入的名字包含"magic",则会触发ValidationError。这个例子展示了如何在Django表单中进行更复杂的数据验证。
评论已关闭