触发输入的上下文错误消息

时间:2012-03-06 04:24:15

标签: javascript html5 xmlhttprequest

我正在使用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(),但它会真正提交表单,甚至会跳过我希望浏览器应该做的事情。

我看不到任何提及,也没有检查inputform元素。

另见French speaking paper

2 个答案:

答案 0 :(得分:0)

您希望使用默认的“客户端表单错误显示”功能显示“服务器端表单错误”吗?但如果您的表单是有效的客户端,它将不会显示任何错误消息。如果要显示服务器端捕获的错误,请使用javascript构建自己的错误显示功能,因为您使用的是ajax。

答案 1 :(得分:0)

我同意如果可行的话会很好。这个想法是否在HTML5工作组中讨论过了?例如,可以添加一个form.showValidityErrors()方法脚本可以随意触发。

然而,你在jsfiddle example尝试做的事情不应该起作用。浏览器应该在提交事件触发之前进行验证并显示验证消息(包括自定义消息)。从提交事件调用setCustomValidity()无效。您应该将代码移动到按键/更改侦听器,如this demo