2013-09-23 38 views
0

必需的字段,我能够提交表单没有把数据。.NET 4.5必填字段不工作

同样Global.asax文件上的其他网站不显眼的验证工作。

这里是一个HTML:

<p> 
     <asp:Label runat="server" ID="lblFirstName" AssociatedControlID="txtFirstName"> 

      First name: 

      <span class="soft"> 

       (required) 

      </span> 

      <asp:RequiredFieldValidator runat="server" ID="reqFirstName" ControlToValidate="txtFirstName" CssClass="red label" Text="Required" /> 

     </asp:Label> 

     <asp:TextBox runat="server" ID="txtFirstName" MaxLength="50" /> 
    </p> 

这里被看样子你可能会混淆HTML5的形式global.aspx

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) 

    Dim Item As New ScriptResourceDefinition 

    With Item 

     .Path = "/assets/scripts/jquery-1.7.2.min.js" 

     .DebugPath = "/assets/scripts/jquery-1.7.2.min.js" 

     .CdnPath = "//ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js" 


     .CdnDebugPath = "//ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js" 

    End With 

    ScriptManager.ScriptResourceMapping.AddDefinition("jquery", Item) 

End Sub 
+0

尝试将验证组添加到验证器和按钮。 –

+0

关闭我的头顶,这看起来是正确的。您是否确认您的网页上没有其他问题,例如无关的JavaScript错误? –

回答

0

与asp.net服务器验证属性?

由于缺少表单属性required="required",因此您可以在没有输入数据的情况下提交表单。

变化:

<asp:TextBox runat="server" ID="txtFirstName" MaxLength="50" /> 

要:

<asp:TextBox runat="server" ID="txtFirstName" MaxLength="50" required="required" /> 

,这将防止在支持HTML5表单属性浏览器表单提交。

1

如果您使用的是经典的WebForms验证,然后在点击处理程序,你需要检查,如果页面是有效的按钮:

if (Page.IsValid()) 
{ 
    // you logic 
} 

对于客户端验证,你需要做验证在JavaScript。为asp按钮附上OnClientClick处理程序,并使用jquery验证程序检查表单是否有效

0

我讨厌承认这是我的错误,花了很长时间调查一件容易的事情。非CDN ScriptResourceDefinition的路径被一个字母关闭。 “资产”不是复数。再次感谢你的帮助。很高兴了解Page.IsValid。