如何强制服务器端验证而不仅仅是客户端?

Byy*_*yyo 1 c# asp.net validation

我有一个Webforms应用程序,不希望用户输入无效值.

目前我用这样的验证器控件来解决这个问题:

<asp:TextBox runat="server" ID="tbInsert"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ControlToValidate="tbInsert"  ID="rqtbInsert"
     ErrorMessage="Required"> 
</asp:RequiredFieldValidator> 
Run Code Online (Sandbox Code Playgroud)

但这样可以验证客户端的值(用户可以避免)

我是否必须为每个控件添加服务器端验证?应该怎样做?

if (!string.IsNullOrEmpty(tbInsert.Text))
{
   //do sth.
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 5

验证器不仅检查客户端.所有CausesValidation=truePage.Validate()在服务器端触发的控件将导致所有相关(如果ValidationGroups已指定,否则全部)验证器验证.

因此,客户端检查是可选的,可以启用/禁用,EnableClientScript而服务器端检查始终发生,也可以使用Page.Validate-method 以编程方式触发.