-
字段级验证(在序列化器字段中进行)
- 基本验证类型:
- 序列化器的每个字段都可以指定验证规则。例如,对于
CharField
,可以指定max_length
和min_length
等参数来验证字符串的长度。假设我们有一个User
序列化器,其中username
字段有长度要求。
from rest_framework import serializers class UserSerializer(serializers.Serializer): username = serializers.CharField(max_length=100, min_length=3) password = serializers.CharField()
- 当反序列化(如接收
POST
或PUT
请求的数据)时,如果username
字段的长度不符合要求,就会抛出验证错误。
- 序列化器的每个字段都可以指定验证规则。例如,对于
- 自定义字段验证方法:
- 还可以为每个字段定义自定义的验证方法。例如,验证
email
字段是否符合正确的格式。
from rest_framework import serializers import re class UserSerializer(serializers.Serializer): email = serializers.CharField() def validate_email(self, value): email_pattern = re.compile(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$') if not email_pattern.match(value)
- 还可以为每个字段定义自定义的验证方法。例如,验证
- 基本验证类型:
Django REST framework中处理序列化器的验证
最新推荐文章于 2025-03-17 17:44:04 发布