簡體   English   中英

錯誤:循環依賴,節點為:“dateA”

[英]Error: Cyclic dependency, node was:"dateA"

我想要一些關於這樣的場景的最佳實現的信息:我有一個選擇器和兩個日期選擇器。 當我從 select (idRisk) 參數 PRESENT 中選擇時,這兩個日期必須是必需的。 如果 DateA 在 DateB 之前,則在表單中我想顯示驗證錯誤。 實現這一目標的最佳方法是什么? 我寫這個是為了完成,但顯示這個錯誤=錯誤:循環依賴,節點是:“dateA”

validationSchema: Yup.object({

idRisk: Yup.number().required(),

dateB: Yup.mixed().when("idRisk", {
is: Risk.PRESENT,
then: Yup.mixed().required(),
otherwise: Yup.mixed()
}),

dateA: Yup.mixed().when("idRisk", {
is: Risk.PRESENT,
then: Yup.mixed().required(),
otherwise: Yup.mixed()
})
.when(["dateA", "dateB"],
(dateA, dateB) => {
if (dateA.isBefore(dateB))
return this.required();
}
)
})

您不能在dateA:Yup.mixed().when()方法中引用參數["dateA"] ,請考慮使用不同的方法,例如:

dateA: Yup.mixed()
  .when(["dateB"],
    (dateB, schema, node) => {
      if (node.value.isBefore(dateB))
        return this.required();
    }
  )

您可以從node.value獲取 dateA 值

暫無
暫無

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

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