如何为 2 个不同的纸张输入使用自定义验证器

how to use a custom validator for 2 different paper-inputs

我想要两个元素

<validation-element idx="1"></validation-element>
<validation-element idx="2"></validation-element>

它们都包含带有自定义验证的纸质输入。

<custom-validator validator-name="validator" idx="[[idx]]"></custom-validator>
<paper-input type="text" auto-validate validator='validator'></paper-input>

在验证函数中我注销了 idx:

validate: function(val) {
  console.log('idx',this.idx, 'val',val);
  return true;
}

这是我拥有的plunk

问题是在控制台中我看到两个元素的 idx=2 但它们使用单​​独的验证器。

为什么我在不同的元素中看到相同的 idx

如何为 2 个元素制作单独的验证器?

IronValidatorBehavior 是使用 iron-meta 实现的。 validator-name 是用于注册验证器的密钥,因此,当您创建第二个实例时,它只是替换第一个实例!

[编辑] 如前所述,使用计算 属性 是可行的方法,但您还必须向自定义验证器中的 validatorName 添加一个观察者,以便我们可以创建一个新的 iron-meta 使用正确的密钥! 参见:http://plnkr.co/edit/mLDU20?p=preview