Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net .Net 4.5必填字段不工作_Asp.net_Vb.net - Fatal编程技术网

Asp.net .Net 4.5必填字段不工作

Asp.net .Net 4.5必填字段不工作,asp.net,vb.net,Asp.net,Vb.net,有了必填字段,我就可以提交表单而无需输入数据 相同的global.asax文件在另一个站点上工作,以进行不引人注目的验证 以下是一个HTML: <p> <asp:Label runat="server" ID="lblFirstName" AssociatedControlID="txtFirstName"> First name: <span class="soft">

有了必填字段,我就可以提交表单而无需输入数据

相同的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表单属性和asp.net服务器验证程序

由于缺少表单属性
required=“required”
,您可以在文本框中不输入任何数据的情况下提交表单

更改:

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

致:



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

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

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

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

我不愿意承认这是我自己的一个错误,我花了大量时间来研究同样简单的事情。非CDN ScriptResourceDefinition的路径被一个字母隔开。“资产”不是复数。再次感谢你的帮助。很高兴了解Page.IsValid。

尝试将验证组添加到validator和button中。在我看来,这是正确的。您是否确认页面上没有其他问题,例如无关的JavaScript错误?
<asp:TextBox runat="server" ID="txtFirstName" MaxLength="50" required="required" />
if (Page.IsValid())
{
     // you logic
}