如何在json schema-form验证器中访问数组索引?

时间:2018-06-07 11:04:15

标签: json angular custom-validators

我创建了一个基于angularjs和schema-form的表单,其中包含一个对象数组。

例如:

模式:

"testcase": {
  "type": "array",
    "items": {
    "first": {
      "type": "string"
    },
    "second": {
      "type": "string"
    }
  }
}

形式:

{
  key: "testcase",
  items: [
      {
          key: "testcase.first",
          validationMessage: {
              'notEq': 'Entries must be equal'
          },
          $validators: {
              notEq: function(value) {
                //here I would like to write something like
                //return value === $model.testcase[ ????? ].second
                  return true;
              }
          }
      },
      {
          key: "testcase.second"
      },
  ]
}

我现在想要使用$ validators将验证器附加到每个对象属性。验证器获取要作为参数插入的值,但似乎无法访问发出验证请求的对象。具体来说,似乎无法确定要更新哪个数组元素,以便该验证不能基于对象的其他属性。在示例中:如何检查同一对象中的两个条目是否一致?如何访问数组索引?

一个明显的解决方法是检查可以从$ scope.model访问的整个数组。但是,由于在模型内容更新之前调用验证器,因此也无法正常工作。

有出路吗?

0 个答案:

没有答案