Safari的AMP表格验证

时间:2017-02-07 11:06:03

标签: javascript validation safari amp-html

AMP表单只允许我使用HTML5表单验证来验证用户输入。它适用于桌面Chrome浏览器。但Safari直到现在才支持HTML5表单验证。我找到了解决方案,需要外部Javascript才能在Safari浏览器上实现表单验证。但就我而言,AMP不允许我这样做。

  

是否有任何黑客或技巧可以绕过Safari的HTML5验证输入?

2 个答案:

答案 0 :(得分:1)

尝试将您的AMP文档与AMP by Example amp-form demo进行比较。 amp-form扩展为不支持本机验证的浏览器实现了表单验证API polyfill。如果您在没有原生支持的Safari版本中使用amp-form,则填充行为应自动运行。

polyfill验证应如下所示: An example of the amp-form polyfill validation UI. There is a text bubble saying "value missing" pointing to a text field labeled "Name..." above a "Subscribe" button.

答案 1 :(得分:0)

HTML5 documentation中提到:

  

尽管Safari支持约束验证API,但在撰写本文时(第6版),Safari不会阻止提交带有约束验证问题的表单。

     

最简单的方法是使用与上述解决方法相同的方法,为所有表单提供novalidate属性,并使用preventDefault手动阻止表单提交。

有了这个,您可能需要查看此thread,其中提供了有关AMP表单支持的指南以及跟踪Forms should respect the novalidate attribute等问题。查看给定代码here并查看它会对您有所帮助。