2012-02-16 68 views
1

我正在尝试使用HTML5内置的验证属性,我碰到的第一个困难是验证属性在表单上下文中工作。 I.E.如果你想验证两个独立的输入,那么你应该把它们放在两个不同的<form>标签中。HTML5验证和ASP.net Webforms

如何用asp.net处理这种情况,其中页面是由包含整个内容的大表单形成的?

+0

我也有这个问题。我使用angularjs的webforms。我在同一页面上有多个表单,并同时进行独立验证。我没有解决这个问题,但我看到了两个解决方案。 1.更改为ASP.NET MVC或.. 2跳过html验证属性并使用angularjs中的指令创建自己的属性。当我完成后,我会尽快回复你... – 2012-12-06 15:05:08

回答

1

我想你有一个误解。

HTML 5同时具有forminput验证属性。 form属性仅允许您打开/关闭自动完成功能,并完全关闭所有input元素的验证。

input元素是真正的工作执行的地方。请注意,您可以在form级别开启自动完成功能,但会将其关闭,具体为inputs

顺便说一句,嵌套<form>标签仍然是一个不错的HTML5下。只是各种浏览器都支持它,以便继续与绝大多数编码不正确的网站兼容。实际上,尽可能兼容这个概念是导致浏览器如此复杂的主要原因。

更多信息:http://www.w3schools.com/html5/html5_form_attributes.asp

+0

“拥有多个

标签仍然是HTML5下的不成?”?你不是在谈论多个NESTED表单标签吗? – 2012-12-06 14:33:55

+0

@HeNrik:是的,这将是一种更好的表述方式。 – NotMe 2012-12-06 20:07:19

0

警告:以下解决方案是不漂亮,我知道。但这是我能想到的唯一解决方案。 :/

使用服务器创建的表单标签并排创建表单标签。将客户端表单放在页面顶部。

缺点:不能使用服务器标签。但是,嘿......谁现在有一天?! :)

<form runat="server" ...> 
    ... Everything .... 
</form> 
<div class="positionedOnTopOfThePage"> 
    <form> 
     ... Form with HTML5 validation ... 
    </form> 
    <form> 
     ... Form with HTML5 validation ... 
    </form> 
</div>