我正在使用XHR在HTML5中开发内部网应用程序(我无法访问任何示例)。您可以看到测试here。
对于<form>
我希望制作XHR,我会测试表单的有效性:
if (form.checkValidity())
{
$.post([...]);
} else {
errormessages();
}
同样,在帖子的返回([...]
部分)中,我可以在验证来自服务器的消息时出错。所以我将它们附加到这样的内容中:
input.setCustomValidity(le_error_message);
le_error_message
非常贴切,因为我可以看到input.validationMessage
:invalid
css选择器设置为输入但是......
如何触发浏览器(firefox,chrome等等)以显示其标准的上下文错误消息?
我试过form.submit()
,但它会真正提交表单,甚至会跳过我希望浏览器应该做的事情。
我看不到任何提及,也没有检查input
和form
元素。
答案 0 :(得分:0)
您希望使用默认的“客户端表单错误显示”功能显示“服务器端表单错误”吗?但如果您的表单是有效的客户端,它将不会显示任何错误消息。如果要显示服务器端捕获的错误,请使用javascript构建自己的错误显示功能,因为您使用的是ajax。
答案 1 :(得分:0)
我同意如果可行的话会很好。这个想法是否在HTML5工作组中讨论过了?例如,可以添加一个form.showValidityErrors()方法脚本可以随意触发。
然而,你在jsfiddle example尝试做的事情不应该起作用。浏览器应该在提交事件触发之前进行验证并显示验证消息(包括自定义消息)。从提交事件调用setCustomValidity()无效。您应该将代码移动到按键/更改侦听器,如this demo。