【发布时间】:2020-05-14 16:27:58
【问题描述】:
我已经定义了一个 yup 架构
export const ValidationSchema = yup.object().shape({
dateTo: yup
.date()
.required(MandatoryFieldMessage)
uebernachtungen: yup.array().of(
yup.object().shape({
ort: yup
.string()
.trim()
.max(100, Maximum100CharactersMessage)
.required(MandatoryFieldMessage),
bis: yup
.date()
.required(MandatoryFieldMessage)
.max(yup.ref("dateTo"), "display message") }))
})
我只想在数组中使用dateTo 的值,这样uebernachtungen 中的所有bis 将不允许有大于dateTo 的值。
问题是我可以像ort 这样访问数组中的项目,但我不能像dateTo 这样访问它之外的项目。
所以在这种情况下 yup.ref("dateTo") 将返回 undefined 但yup.ref("ort") 将是正确的。似乎数组有自己的上下文,我无法访问父上下文。
这怎么可能?
【问题讨论】:
-
您能否分享一个可重现的示例或至少发布整个架构。
-
@MuhammadAli 我更新了。
-
你能告诉我你想用 dateTo 值实现什么吗?
-
我希望
uebernachtungen中的所有bis不允许具有大于dateTo的值 -
你用“test”试过什么吗? github.com/jquense/…
标签: validation yup