AMP表单只允许我使用HTML5表单验证来验证用户输入。它适用于桌面Chrome浏览器。但Safari直到现在才支持HTML5表单验证。我找到了解决方案,需要外部Javascript才能在Safari浏览器上实现表单验证。但就我而言,AMP不允许我这样做。
是否有任何黑客或技巧可以绕过Safari的HTML5验证输入?
答案 0 :(得分:1)
尝试将您的AMP文档与AMP by Example amp-form
demo进行比较。 amp-form
扩展为不支持本机验证的浏览器实现了表单验证API polyfill。如果您在没有原生支持的Safari版本中使用amp-form
,则填充行为应自动运行。
答案 1 :(得分:0)
在HTML5 documentation中提到:
尽管Safari支持约束验证API,但在撰写本文时(第6版),Safari不会阻止提交带有约束验证问题的表单。
最简单的方法是使用与上述解决方法相同的方法,为所有表单提供
novalidate
属性,并使用preventDefault
手动阻止表单提交。
有了这个,您可能需要查看此thread,其中提供了有关AMP表单支持的指南以及跟踪Forms should respect the novalidate
attribute等问题。查看给定代码here并查看它会对您有所帮助。