如何为 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
我想要两个元素
<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