如果你的要求是,你想用做此验证内置ASP.Net验证控件,那么你将需要使用ASP.Net CustomValidator控件。这不能使用ASP.Net RequiredFieldValidator控件完成。要做到你所指定的验证,把一个CustomValidator控件在您的网页上,这样的标记看起来像这样:
<asp:Label ID="Label1" runat="server" Text="Whats your name"></asp:Label>
<asp:TextBox ID="nameB" Width="322px" Height="30px" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustValidator" runat="server" ControlToValidate="nameB"
ValidateEmptyText="true" ErrorMessage="Please tell us your name."
onservervalidate="CustValidator_ServerValidate" Display="none" >**</asp:CustomValidator>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" CausesValidation="true" />
然后,您需要编写自定义验证。服务器端验证代码如下所示:
protected void CustValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
if (string.IsNullOrWhiteSpace(args.Value))
{
Label1.Text = CustValidator.ErrorMessage;
args.IsValid = false;
}
else
{
Label1.Text = "Whats your name";
args.IsValid = true;
}
}
此自定义验证程序会为您提供所需的行为。
通常,当您使用CustomValidator控件时,您应该同时进行服务器端验证(用于安全性)和客户端验证(以获得更好的UI体验)。要获得客户端验证,您需要在javascript和/或jQuery中编写客户端函数以执行类似验证,然后将其分配给自定义验证器的ClientValidationFunction。
有关CustomValidator控件的更多信息,请参见MSDN documentation。
我喜欢这个想法,但我不确定它可以使用常规的ASP.NET验证控件完成。如果您使用其他验证框架(例如jQuery Validate或其他一些jQuery验证插件)开放解决方案,我可以写出一个关于如何在您的示例中执行此操作的答案。 –
嗨@TomasLycken我是编程新手,所以任何建议和指导将是伟大的学习up.Please显示你的建议谢谢。 – Raghav
在阅读其他人的答案之后,我意识到我脑子里的东西并不适合WebForms范例 - 我想我一直在做ASP.NET MVC太久了:P但是有两个很好的建议可以帮助你尝试! –