簡體   English   中英

更新中 DRF HiddenField 的字段級驗證

[英]Field-level validation for DRF HiddenField in update

在 DRF serializers.HiddenField()上進行字段級驗證的正確方法是什么? 我試過的(假設字段名是x):

  • validate_x()方法添加到序列化器 class。 在部分更新操作 (HTTP PATCH) 中未調用此方法。
  • 嘗試在validate(self, data)方法中對其進行驗證。 它不存在於數據字典中。
  • 試圖創建一個驗證器並將其傳遞給驗證器字段參數,但它們沒有被調用。

在部分更新中為此添加自定義驗證的正確方法是什么? 我正在使用 DRF v3.12.4

注意:我希望從請求正文定義中隱藏該字段,並且仍然能夠驗證該字段並將其包含在序列化程序中。

我很確定你不應該驗證它? 該字段不是由用戶提供的,因此不需要驗證。

在 DRF 文檔中,它被稱為:

字段 class 不根據用戶輸入獲取值,而是從默認值或可調用值中獲取值。

他們還談到了它的驗證:

使用隱藏字段。 該字段將出現在 valid_data 中,但不會在序列化程序 output 表示中使用。

但是,您可以在createupdate方法或您的序列化程序中執行特殊/條件操作,因為您可以訪問validated_data ,該字段可以訪問

這里這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM