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

时间:2015-12-14 12:44:57

标签: polymer polymer-1.0

我想要两个元素

<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个元素制作单独的验证器?

1 个答案:

答案 0 :(得分:2)

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

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