聚合物铁形式提交纸输入验证问题

时间:2015-08-27 11:50:07

标签: javascript regex forms polymer-1.0

我在聚合物中使用铁形式并使用我的形式提交 Polymer.dom(event).localTarget.parentElement.submit() 在这种形式中,我使用了几个<paper-input>元素,并进行了自动验证 <paper-input name = "heightcms" label="Height (CM)" auto-validate pattern="^\d+(\.\d+)?$" error-message="numbers only"></paper-input>

要求:仅允许输入框中的数字和小数
问题:我已经尝试了从简单到复杂的几个正则表达式模式但是对于每个模式,我得到400错误 - 错误请求。当输入为空或不包含任何小数时,提交有效。

虽然,当我在字段中开始输入时,红色悬停在模式匹配的那一刻进行,但表单提交总是抛出错误。

我试过的正则表达式是

  • [0-9。]
  • ^ \ d +(。\ d +)?$
  • [0-9] *

我也搜索了很多关于这个的问题,但是无法解决这个问题。有人可以指导我正确的方向

由于

2 个答案:

答案 0 :(得分:0)

您可以尝试:

^\d+\.?\d*$

Regex live here.

解释

^       # from start
\d+     # match at least '+' one digit '\d'
\.?     # the dot is optional    -- tip: remember that you need to escape the dot
\d*     # 'if' there are more digits
$       # must end after that

希望它有所帮助。

答案 1 :(得分:0)

如果有帮助,旧版本的铁形式在发送带有验证的表单数据时会出现一些问题。建议的解决方案是将内容/类型称为&#39; Application / Json&#39;和(解决了我的问题的那个)将铁形式更新到最新版本(1.0.8)。最重要的是,在测试更改之前清除浏览器缓存。

感谢华盛顿在我的案例中排除了正则表达式的问题。

此致 VARUN