Polymer 更新到最新版本的聚合物和输入验证不再工作

Polymer 更新到最新版本的聚合物和输入验证不再工作,polymer,Polymer,上述示例一直有效,直到最新的polymer更新,现在即使所需的属性也不起任何作用。我在文档中缺少的核心输入是否有一些更改?我所有的模式、数字、URL或电子邮件输入都不会导致它得到无效的类 <paper-input id="server" floatinglabel="" label="Server Address" value="" required ty

上述示例一直有效,直到最新的polymer更新,现在即使所需的属性也不起任何作用。我在文档中缺少的核心输入是否有一些更改?我所有的模式、数字、URL或电子邮件输入都不会导致它得到无效的类

        <paper-input
          id="server"
          floatinglabel=""
          label="Server Address"
          value=""
          required
          type="URL">
        </paper-input>
并传入输入容器的id。验证(id)

如果输入不满足类型/模式要求,这将导致输入显示无效类。然后,可以使用与前面相同的方法检查无效类

validate: function (id) {
  'use strict';
  var $d = document.getElementById(id).querySelectorAll('paper-input-decorator');
  Array.prototype.forEach.call($d, function(d) {
    d.isInvalid = !d.querySelector('input').validity.valid;
  });
}
在自定义元素或外部

invalid = document.querySelector("#address").classList.contains("invalid");
内部自定义元素

然后,在运行save函数之前,执行一些逻辑来检查无效类

invalid = this.$.address.classList.contains("invalid");
还要记住,decorator和input都有一个id。decorator上的id用于检查有效性,而input上的id用于从committedValue属性获取值


上面的信息是针对10-16-14之后拉取的主分支的

如何将其用于表单中的多个输入?我在validate函数中运气不佳。我如何将表单作为自定义元素的工作示例。谢谢只是想澄清一下,在您的示例中,您正在为每个.classList.contains()输入创建变量,对吗?然后在if()块中检查它们。我试图写一些东西来全局检查文档中的所有输入;是的,这就是我正在做的。到目前为止,我在我的项目中得到的最多是6个。可能有一种更简化的方法来做,但我还没有遇到1。对web开发来说还是很新的。好的,现在就可以了,谢谢!也许在这方面更先进的人会有一个想法,检查表单中的所有纸张输入。
invalid = this.$.address.classList.contains("invalid");
if (!invalid) {
  save();
}