weixin_46823718 2024-05-24 16:49 采纳率: 33.3%
浏览 3

表单中可输入多行表格内容的校验

img


这里表单中嵌入表格可输入 这里的成本价和指导价对应两个字段信息 同样的 这里也绑定的是这两个输入框 绑定的是primePrice和guidingPrice

img


现在想写一个校验规则 这里的指导价不能小于对应周期的成本价

img


这里会有一个问题:假定第一个周期的成本价是20 第一个周期的指导价是28
第二个周期的成本价是30 第二个周期的指导价是36 第一个周期的指导价输入框会一直提示校验错误信息 这里应该怎么解决

img

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-05-24 16:51
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的信息,您正在使用JavaScript开发一个表单,该表单中嵌入了一个多行表格,用于输入成本价和指导价。您的目标是确保每个周期的指导价不小于其对应的成本价。您遇到的问题是在第一个周期的指导价输入框中,即使第二个周期的指导价和成本价是合理的,它仍然显示校验错误信息。

    从您提供的代码片段来看,您的校验函数validateGuidePrice似乎没有正确地针对每个周期进行校验。代码中存在一些错误和不完整的地方,例如if(value == )应该是一个比较操作,但是缺少了比较的值。此外,callback(new Error(i18n.t(指导价不可为o)))中的i18n.t(指导价不可为o)似乎也有语法错误,应该是i18n.t('指导价不可为0')

    为了解决这个问题,我们可以对校验函数进行一些修改,确保它能够正确地针对每个周期的指导价和成本价进行校验。以下是一个修改后的示例代码:

    const validateGuidePrice = (rule, value, callback) => {
      const periodvoList = AddVersionForm.value.periodvoList;
      let isValid = true;
    
      periodvoList.forEach((period, index) => {
        if (value[index] < period.primePrice) {
          callback(new Error(i18n.t('指导价不能小于成本价')));
          isValid = false;
          return;
        }
      });
    
      if (isValid) {
        callback();
      }
    };
    

    在这个修改后的代码中,我们首先获取了所有周期的数据periodvoList。然后,我们使用forEach循环遍历每个周期,并对每个周期的指导价和成本价进行比较。如果发现指导价小于成本价,我们立即调用callback函数,并传入一个错误信息,同时将isValid标志设置为false并退出循环。如果所有周期的校验都通过,我们在循环结束后调用callback()函数,表示校验通过。

    请注意,这个示例假设AddVersionForm.value.periodvoList是一个包含所有周期数据的数组,其中每个周期的数据结构包含primePriceguidingPrice等属性。您可能需要根据您实际的数据结构进行相应的调整。

    希望这能帮助您解决问题。如果您需要进一步的帮助,请提供更多的代码上下文或详细信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月24日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真