所以我们正在使用parsley.js。问题是,我认为它不适用于Safari浏览器。
第一个错误:
我有input
,你只能输入数字。它看起来像这样:
input#mtlbeitrag.pull-right(data-type="number", name="vb", value="#{calc.vb}", required="required", min="0")
当我现在输入“1000”时,欧芹所做的就是将该数字设为“1.000”。 显然这是一个问题,因为我们正在将该数字解析为整数。所以你的算法解析“1.000”,它应该是“1000”到“1.0”。
第二个错误:
欧芹忽略了require
标签。不仅弹出消息不起作用而且仅显示为列表元素。不,它还允许用户提交错误输入的表单。
我的问题是: 这些众所周知的错误或我们刚刚实施的错误方法是什么? 任何人都可以通过safari确认这个错误吗?
在Google Chrome上,没有出现这些错误。
此外,还有一个更好的跨浏览器库可以做同样的事情吗?
PS:当我在Safari上执行此操作test时,没有任何反应。
答案 0 :(得分:3)
您是否可能使用HTML5表单验证并忘记将novalidate
添加到封闭表单标记中?
如果找不到novalidate
,那么HTML5表单验证将接管并覆盖任何欧芹会做的...
我相信后备,所以我把它包括在内:
$("form.js-validate").attr("novalidate","novalidate").parsley();
^
这样如果由于某种原因没有加载JS,HTML5验证将成为后备。
(请注意,在这种情况下,您必须从表单中删除data-validate="parsley"
,或者只是在加载时使用$("form.js-validate").attr("novalidate","novalidate")
)
仅供参考:Safari失败的原因是因为其HTML5验证是“滞后”的。
老问题,但也许有些胡子的网络旅行者会得到帮助