我想检查传入请求正文中的字段是否只包含预定义整数的列表。
例如,给定:valid_values=[2, 3, 8]
[2, 8]
应通过验证,[ 4, 8]
或['2', 8]
]应引发验证错误。
首先,我尝试使用serializers.ChoiceField()
,但它没有引发任何['2', 8]
验证错误。
我也尝试过链接验证器,但显然Django REST框架不支持。所以这引发了一个TypeError:
class MySerializer(serializers.Serializer):
valid_rules = [2, 3, 8]
tags = serializers.ListField(child=serializers.IntegerField().ChoiceField(valid_rules))
我也没在文件上找到任何东西。
1条答案
按热度按时间js81xvg61#
您可以编写自己的验证方法并检查所有标记是否都在有效值列表中: