重置纸张输入验证?

时间:2016-02-16 09:36:18

标签: 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>

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

enter image description here

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

enter image description here

如何在不更改输入的情况下重置验证状态以获取未经验证的视图?

2 个答案:

答案 0 :(得分:3)

只需将paper-input元素的invalid属性设置为false,例如

this.$.inputForValidation.invalid = false;

答案 1 :(得分:1)

在您的情况下,您希望空值有效,因此您只需删除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);
   }
  }
});