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

Polymer 如何为2种不同的纸张输入使用自定义验证器,polymer,polymer-1.0,Polymer,Polymer 1.0,我想要两个元素 <validation-element idx="1"></validation-element> <validation-element idx="2"></validation-element> 这是我所拥有的 问题是,在控制台中,我看到两个元素的idx=2,但它们使用单独的验证器 为什么我在不同的元素中看到相同的idx 如何为两个元素创建单独的验证器?使用iron meta实现iron验证器行为。验证器名称是用于注册验证器的

我想要两个元素

<validation-element idx="1"></validation-element>
<validation-element idx="2"></validation-element>
这是我所拥有的

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

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


如何为两个元素创建单独的验证器?

使用
iron meta
实现
iron验证器行为。
验证器名称
是用于注册验证器的密钥,因此,当您创建第二个实例时,它将替换第一个实例

[编辑]如前所述,使用computed属性是一种方法,但您还必须在自定义验证器的验证器名称中添加一个观察者,以便我们可以使用正确的键创建一个新的
iron meta

请参阅:

好的,那么注册不同验证器的好方法是什么?生成computed属性并使用它绑定
验证程序名称
?等一下,我正在更新您的plunk!:)毫无疑问,这种方法不起作用。请参阅validator never called if use compute parameter…是的,因为自定义验证器的ready函数调用得太早了。。。“铁元”是在那里创建的…在附加函数中延迟铁元的创建将使其功能化。类似的问题以前也被问过。看一看。这里我们讨论的是一种通用的定制验证器的方法……看一看发布的plunk,我注意到它实际上是从我在另一个问题中的plunk中派生出来的。:)无论如何,我认为还是有一个链接到另一个问题,仅供将来参考。
<custom-validator validator-name="validator" idx="[[idx]]"></custom-validator>
<paper-input type="text" auto-validate validator='validator'></paper-input>
validate: function(val) {
  console.log('idx',this.idx, 'val',val);
  return true;
}