FormObject.submit()上未强制执行HTML5必需属性

时间:2011-07-19 18:47:12

标签: asp.net forms html5 submit required

HTML5可以轻松强制输入以获得值:哇!这在.NET Web应用程序中会很棒。我快速实现了这个并发现了一些有趣的东西。我的新要求的输入字段在提交按钮单击时强制执行,并从使用浏览器的enter-submit-the-form功能的表单控件中输入。当控件调用__doPostback(最终调用form.submit())时,不会强制执行新的必需输入。

那不对!怎么了Firefox?!但是,这就是它在Chrome中的运作方式,所以要么就是巧合,要么它们都错了,要么它们都没有错。

所以有人能告诉我为什么这有道理吗?似乎这个整洁的属性永远不会在.NET Web应用程序中使用,因为提交表单的唯一方法是在浏览器不处理时调用__doPostback,这导致所需的验证有时只发生。但其他时候这是有道理的,例如当链接设置为在将用户导航到另一个页面之前回发到表单时:我们不希望用户在他们认为他们只是导航时被卡住了。 / p>

1 个答案:

答案 0 :(得分:2)

我无法告诉你,为什么这是有道理的,但FF和Chrome对这种行为是正确的。如果要进行此验证,则必须单击提交按钮。

还有一个关于html5验证的奇怪之处:checkValidity方法不会调用本机验证ui(在Opera中它会执行,但这是规范违规),但它会触发无效事件。使用编程API来获得验证ui真的是一件好事,但用户可以看到它的唯一方法是通过交互式验证。