.Net 4.5必填字段不起作用

时间:2013-09-23 18:27:27

标签: asp.net vb.net

使用必填字段,我可以在不放入数据的情况下提交表单。

同一个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>

这是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

3 个答案:

答案 0 :(得分:1)

如果您使用经典的WebForms验证,那么在按钮的单击处理程序中,您需要检查页面是否有效:

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

对于客户端验证,您需要在javascript中进行验证。为asp按钮附加OnClientClick处理程序并使用jquery验证器检查表单是否有效

答案 1 :(得分:0)

看起来您可能会将HTML5表单属性与asp.net服务器验证器混淆?

您可以在文本框中输入未输入数据的表单,因为缺少表单属性required="required"

变化:

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

要:

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

这将阻止在支持HTML5表单属性的浏览器上提交表单。

答案 2 :(得分:0)

我不愿意承认这是我的一个noob错误,花了很多时间调查一些简单的东西。非CDN ScriptResourceDefinition的路径是一封信。 “资产”不是复数。再次感谢你的帮助。很高兴知道Page.IsValid。