关于 HTML5 表单验证,我有两个主要问题。
1-我使用此代码更改输入的验证消息
$$('INPUT').each(function(input)
{
input.oninvalid = function(event)
{
event.target.setCustomValidity('');
if (!event.target.validity.valid) event.target.setCustomValidity('Please Fill');
};
}
这种方法有很大的问题。如果输入无效,则提交表单时,会附加一条错误消息。所以它不会验证新的输入。即使在更正并再次提交后,它也不会让表单被提交,因为消息仍然是附加的。所以 event.target.setCustomValidity('') 将删除消息并且表单需要再次提交。二更正后提交。
我找不到纠正这种行为的方法。
2-如何完全隐藏或禁用这些工具提示但仍使用表单验证。有时候想用css无效和有效的伪类,但是还是显示这些提示。
我在提交按钮上找到了 formnovalidate,然后我可以在提交之前手动检查每个输入的有效性。有更好的主意吗?