为了账号安全,请及时绑定邮箱和手机立即绑定

是的循环依赖:两个领域相互依赖

是的循环依赖:两个领域相互依赖

富国沪深 2022-12-29 15:11:44
我有以下是的验证模式 const validationSchema = Yup.object().shape({  name: Yup.string(),  services: Yup.array(Yup.string().oneOf(SERVICES, "Invalid service!")),  locations: Yup.array(Yup.string().oneOf(LOCATIONS, "Invalid location!")),  distance: Yup.number()    .typeError("Invalid distance!")    .positive("Invalid distance!")    .when("userFormattedAddress", {      is: (val) => !!val,      then: Yup.number().required(),      otherwise: Yup.number(),    }),  userFormattedAddress: Yup.string("Invalid user location!").when("distance", {    is: (val) => !!val,    then: Yup.string().required(),    otherwise: Yup.string(),  }),  userCoordinates: Yup.array(    Yup.number("Invalid user location!").positive("Invalid user location!")  ),});期望的行为是当输入距离时,用户必须输入地址,当用户输入地址时,他们也必须指定距离。但是,我遇到了循环依赖......有什么想法吗?谢谢!
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

好的,我找到了答案:


 const validationSchema = Yup.object().shape({

 name: Yup.string(),

 services: Yup.array(Yup.string().oneOf(SERVICES, "Invalid service!")),

 locations: Yup.array(Yup.string().oneOf(LOCATIONS, "Invalid location!")),

 distance: Yup.number()

   .typeError("Invalid distance!")

   .positive("Invalid distance!")

   .when("userFormattedAddress", {

     is: (val) => !!val,

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

     otherwise: Yup.number(),

   }),

 userFormattedAddress: Yup.string("Invalid user location!").when("distance", {

   is: (val) => !!val,

   then: Yup.string().required(),

   otherwise: Yup.string(),

 }),

 userCoordinates: Yup.array(

   Yup.number("Invalid user location!").positive("Invalid user location!")

 ),

}, ["distance", "userFormattedAddress"]);

您需要将数组中的字段作为 noSortedEdges 参数传递的位置


查看完整回答
反对 回复 2022-12-29
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号