如果在 yup 中数组长度为 0,如何剥离数组

How to strip an array if array length is 0 in yup

我想删除长度为 0 的“other”数组 这是我的架构

languages: Yup.object({
  native: Yup.string().oneOf(languages),
  other: Yup.array()
    .max(5)
    .of(
      Yup.object({
        language: Yup.string().oneOf(languages),
        speaking: Yup.string().oneOf(fluency),
        reading: Yup.string().oneOf(fluency),
        writing: Yup.string().oneOf(fluency),
      })
    )
    .when("other.length", {
      is: 0,
      then: (s) => s.strip(),
    }),
}),

我得到的错误:

未捕获错误:循环依赖,节点为:“其他”

先谢谢

对于可能遇到同样问题的人:

我在以下位置发现问题:

.when(".length", {
  is: 0,
  then: (s) => s.strip(),

我需要引用数组的 .length 而不是 arr.length,这解决了问题。