【DRF框架】序列化组件——字段验证
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【DRF框架】序列化组件——字段验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                單個字段的驗證
1.在序列化器里定義校驗字段的鉤子方法? ?validate_字段
2.獲取字段的數據
3.驗證不通過,拋出異常??raise serializers.ValidationError("校驗不通過的說明")
4.驗證通過,直接返回字段數據
# 對title字段進行驗證 def validate_title(self,value):# 判斷value是否含有敏感字段if "xx" in value:# 存在敏感字段,拋出異常并附上自定義的原因raise serializers.ValidationError("該字段含有敏感詞")# 不存在,則直接返回return value?
多個字段的驗證
1.在序列化器定義validate方法
2.attrs是所有數據組成的字典
3.不符合拋出異常?raise serializers.ValidationError("校驗不通過的說明")
# 對多個字段進行驗證 def validate(self, attrs):# arrrs是數據組成的字典# 判斷linux的數是否在linux分類if "linux" in attrs.get('title') and attrs['category_post'] == 2:return attrselse:raise serializers.ValidationError("圖書與分類不一致")?
自定義驗證器
使用:在字段添加? ?validators=[自定義驗證器,]
# 自定義驗證器 def my_validate(value):if "xxx" in value:raise serializers.ValidationError("該字段包含敏感詞!!!")else:return value title = serializers.CharField(max_length=32,validators=[my_validate,]) # 使用自定義驗證器?
三者的權重:
自定義驗證器 >?單個字段的驗證 >?多個字段的驗證
?
轉載于:https://www.cnblogs.com/st-st/p/10123318.html
總結
以上是生活随笔為你收集整理的【DRF框架】序列化组件——字段验证的全部內容,希望文章能夠幫你解決所遇到的問題。