Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript yup.validate仅返回错误数组中的单个字段_Javascript_Angular_Reactjs_Yup - Fatal编程技术网

Javascript yup.validate仅返回错误数组中的单个字段

Javascript yup.validate仅返回错误数组中的单个字段,javascript,angular,reactjs,yup,Javascript,Angular,Reactjs,Yup,我试图在angular7项目中添加yup。我已成功地将其添加到我的组件中 readonly optionalRequiredSchema = yup.object().shape({ ['@name']: yup.string().required(), description: yup.string().required(), ['rule-type']: yup.string().required(), from: yup.object().require

我试图在angular7项目中添加yup。我已成功地将其添加到我的组件中

  readonly optionalRequiredSchema = yup.object().shape({
    ['@name']: yup.string().required(),
    description: yup.string().required(),
    ['rule-type']: yup.string().required(),
    from: yup.object().required(),
    source: yup.object().required(),
    to: yup.object().required(),
    destination: yup.object().required(),
    service: yup.object().required(),
    application: yup.object().required(),
    action: yup.string().required()
  });
我就是这样

  validateData() {
    this.optionalRequiredSchema.validate(this.allData)
      .then(
        (data) => console.log(data)
      ).catch(err => {
        console.log(err);
        this.showToast('top-right', 'danger', JSON.stringify(err.errors))


      })
  }
若我传递所有空对象来验证它,那个么在errors数组中只给出1个字段。当我校正时,它会显示下一个1字段。如何获取所有无效字段的列表


谢谢

是的,验证函数接受第二个参数选项。Pass{abortEarly:false}将解决您的问题

  validateData() {
    this.optionalRequiredSchema.validate(this.allData, {abortEarly: false})
      .then(
        (data) => console.log(data)
      ).catch(err => {
        console.log(err);
        this.showToast('top-right', 'danger', JSON.stringify(err.errors))


      })
  }

Yup验证函数接受第二个参数选项。Pass{abortEarly:false}将解决您的问题

  validateData() {
    this.optionalRequiredSchema.validate(this.allData, {abortEarly: false})
      .then(
        (data) => console.log(data)
      ).catch(err => {
        console.log(err);
        this.showToast('top-right', 'danger', JSON.stringify(err.errors))


      })
  }