Javascript 重置纸张输入的验证?

Javascript 重置纸张输入的验证?,javascript,html,polymer,polymer-1.0,web-component,Javascript,Html,Polymer,Polymer 1.0,Web Component,我有这样一个纸张输入元素: <paper-input id="inputForValidation" required label="this input is manually validated" pattern="[a-zA-Z]*" error-message="letters only!"></paper-input> <button onclick="validate()">Validate!</button> 验证 当我验证输入

我有这样一个纸张输入元素:

<paper-input id="inputForValidation" required label="this input is manually validated" pattern="[a-zA-Z]*" error-message="letters only!"></paper-input>
<button onclick="validate()">Validate!</button>

验证
当我验证输入并且验证失败时,它看起来是这样的:

<paper-input id="inputForValidation" required label="this input is manually validated" pattern="[a-zA-Z]*" error-message="letters only!"></paper-input>
<button onclick="validate()">Validate!</button>

在不更改输入的情况下,我希望以编程方式重置验证状态,使其看起来像以前一样:


如何重置验证状态以获取未验证的视图而不更改输入?

如果您希望空值有效,则只需删除require属性即可

在更复杂的情况下,我想你应该这样做:

Polymer({
  is: "my-element",
  validate: function(){
   if(this.$.inputForValidation.value == ""){
   //When the input is empty we want
    this.$.inputForValidation.removeAttribute("required");
    this.$.inputForValidation.validate();
    this.$.inputForValidation.setAttribute("required", true);
   }
  }
});

只需将纸张输入元素的无效属性设置为false,例如

this.$.inputForValidation.invalid = false;

这可能不是最好的方法,但您可以将
纸张输入的
invalid
属性设置为false,因为中似乎没有任何方法允许您这样做。您所说的“不更改输入”是什么意思?如果输入模式正常,可以通过再次调用“inputForValidation.validate()”删除错误消息,否?