2016-09-13 60 views
0

如何防止纸张输入中的无效输入?如何防止纸张输入中的无效输入?

这里是Plunk其中preventInvalidInput按预期不工作,

即即使当invalid = true

  • 用户可以继续输入,
  • value属性绑定到不正确的输入。

    <paper-input 
        label="max" 
        type="number" 
        value="{{year_max}}" 
        min="0" 
        max="255" 
        editable 
    
        invalid={{invalid}} 
        auto-validate 
    
        prevent-invalid-input 
    
        error-message="Error msg" 
    ></paper-input> 
    
+1

'preventInvalidInput'只能用于'allowedPattern'(RegEx)。 'Iron-input'元素只有正则表达式验证 – a1626

回答

3

preventInvalidInput标志只防止“无效”的字符输入(例如,如果用户仅当字母数字字符被允许键入a+b+c = d,所述paper-input只接受abcd)。它确实而不是invalid标志被设置(这是你所期望的)时阻止进一步的输入。

要使用preventInvalidInput,您必须指定哪些字符有效allowedPattern(一character class),而这些属性仅适用于type="text"。例如,下面的paper-input允许数字,减去(负数),和点(为小数):

<paper-input prevent-invalid-input allowed-pattern="[-.\d]"> 

您的代码似乎只需要数字,所以你可以使用:

<paper-input prevent-invalid-input allowed-pattern="[\d]"> 

或略微清洁器用于单类模式:

<paper-input prevent-invalid-input allowed-pattern="\d"> 

modified plunker

相关问题