在dom-repeat中自动验证纸张输入

时间:2016-04-16 13:57:26

标签: javascript polymer polymer-1.0

我动态创建了一些required&amp; auto-validate中的<paper-input> - d <template is="dom-repeat">个元素。

当元素重复dom时,似乎不会发生自动验证。它只在元素模糊时发生。

一个例子:

&#13;
&#13;
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import">
<link href="paper-input/paper-input.html" rel="import">

<dom-module id="x-example">
  <style>
    :host {
      display: block;
      max-width: 320px;
    }
  </style>
  <template>
    <template is="dom-repeat" items="[[data]]">
      <paper-input label="this input requires some text" value="{{item::input}}" required auto-validate error-message="needs some text!"></paper-input>
    </template>
  </template>
<script>
  HTMLImports.whenReady(function() {
    "use strict";

    Polymer({

      is: "x-example",
      properties: {
      	data: {
          type: Array,
          value: [
           "Hello World!",
            null,
            "Hello Globe!"
          ]
        }
      }

    });
  });
</script>

</dom-module>

<x-example></x-example>
&#13;
&#13;
&#13;

  • 第二个<paper-input>的值为null,因此我希望在 dom-repeated,不只有在用户聚焦后才会模糊不清。

  • 当元素重复dom时,有没有直接的方法来运行自动验证,即当元素被实例化/注册时(缺少更好的单词)?

注意:

  • 我知道我可以手动调用validate()元素,但我正在寻找更轻量级/声明性的方法。

  • 现在我已经破解了行为

    • 观察splices Feed dom-repeat
    • data
    • 更改data后,会在所有具有validate()属性的DOM元素上手动调用[required]

同样,我正在寻找更轻量级的东西,因为我相信自动验证应该自动进行,而不需要为其编写额外的代码。

0 个答案:

没有答案