C# 如何强制服务器端验证而不仅仅是客户端验证?
我有一个Webforms应用程序,不希望用户输入无效值 目前,我正在使用以下验证程序控件解决此问题:C# 如何强制服务器端验证而不仅仅是客户端验证?,c#,asp.net,validation,C#,Asp.net,Validation,我有一个Webforms应用程序,不希望用户输入无效值 目前,我正在使用以下验证程序控件解决此问题: <asp:TextBox runat="server" ID="tbInsert"></asp:TextBox> <asp:RequiredFieldValidator runat="server" ControlToValidate="tbInsert" ID="rqtbInsert" ErrorMessage="Required"> <
<asp:TextBox runat="server" ID="tbInsert"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ControlToValidate="tbInsert" ID="rqtbInsert"
ErrorMessage="Required">
</asp:RequiredFieldValidator>
验证器不仅在客户端进行检查。所有具有
CausesValidation=true
的控件将在服务器端触发,这将导致所有相关(如果指定,否则为所有)验证器进行验证
因此客户端检查是可选的,可以通过启用/禁用,而服务器端检查总是发生,也可以通过-方法以编程方式触发。验证程序不仅仅在客户端进行检查。所有具有
CausesValidation=true
的控件将在服务器端触发,这将导致所有相关(如果指定,否则为所有)验证器进行验证
因此客户端检查是可选的,可以通过启用/禁用,而服务器端检查始终会发生,也可以通过-方法以编程方式触发。在服务器端,使用Page.IsValid属性检查是否所有验证控件都已通过,返回一个值,该值指示页面验证是否成功。发件人:
在服务器端,使用Page.IsValid属性检查是否所有验证控件都已通过,这将返回一个值,指示页面验证是否成功。发件人:
而不是为每个控件添加验证。添加静态验证助手类,并将模型的所有验证方法写入同一个类。 只需从服务器端的接收方法验证所有每个方法
通过这种方式,您将具有依赖性操作并实现所需的行为,而不会过度填充方法(只需在方法条目处进行一次调用)而不是为每个控件添加验证。添加静态验证助手类,并将模型的所有验证方法写入同一个类。 只需从服务器端的接收方法验证所有每个方法 这样,您将具有依赖性操作,并在不过度填充方法的情况下实现所需的行为(只需在方法条目处进行一次调用)
if (!string.IsNullOrEmpty(tbInsert.Text))
{
//do sth.
}
private void ValidateBtn_Click(Object Sender, EventArgs E)
{
Page.Validate();
if (Page.IsValid == true)
lblOutput.Text = "Page is Valid!";
else
lblOutput.Text = "Some required fields are empty.";
}