【问题标题】:Form validation in PolymerPolymer 中的表单验证
【发布时间】:2014-09-16 11:29:12
【问题描述】:

我有Polymer 应用程序,我想在提交表单时检查给定的输入是否为NOT EMPTY。我将一些输入设置为required,但我无法检查这些字段是否为NOT EMPTY。我只能通过检查invalid 属性来检查给定模式是否匹配,但即使required 字段模式也是.*

是否需要等待?还是处于测试阶段,尚未实现此功能?

【问题讨论】:

    标签: forms validation input polymer required


    【解决方案1】:

    Polymer.dart

    你可以自己设置模式

    <paper-input floatinglabel
      label="Some label"
      value='{{someValue}}'
      pattern="^.+$"
      error="Input required">
    </paper-input>
    

    或者看 Taking total control of PaperInput validation 用于完全控制验证。

    【讨论】:

    • 您的解决方案不起作用。可能您考虑的是pattern 属性而不是validate。没有validate 这样的属性。然而,即使我使用了pattern 属性设置为^.+$,我仍然需要在字段中写入一些内容并删除内容才能进行验证工作。仅获取 invalid 属性时验证不起作用。应该有一些像valid() 这样的方法来检查内容是否匹配模式。并且如果有required属性也应该首先检查该字段是否被填写。
    • 你是对的,应该是pattern属性。我不确定你的其余评论是什么意思 validateImmediately 默认情况下是真的,它应该在没有任何字段输入的情况下调用验证。否则请参阅我的答案中链接的问题/答案。
    • 即使使用validateImmediately 属性仍然不起作用。让我更详细地描述我的问题。我有这样的 HTML 代码&lt;paper-input name="name" floatingLabel required validateImmediately pattern="^.*$" label="Name" type="string"&gt;&lt;/paper-input&gt;。现在,当我从控制台document.getElementsByTagName('paper-input')[0].invalid 调用这样的代码行时,我得到false 这是不正确的。我应该得到true,因为字段是空的。如果我填写字段并删除该内容并再次执行该行代码,它将返回true。这似乎是聚合物错误。
    • 你应该提交一个错误。作为一种解决方法,您可以分配一个初始值,如 '' 并尝试这是否会调用验证。 value 属性是否绑定到字段?你什么时候检查这个? Polymer 是否已经有时间完全初始化控件?
    • 我尝试过填充值属性,但它仍然不起作用。好的,我会发布一个错误。但是感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 2014-06-12
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2017-06-04
    • 2021-02-08
    相关资源
    最近更新 更多