validation control验证控件介绍(原创axa from yunfu) 用户的输入存在2类问题: 1.错误输入:例如将邮箱写成123tom.com,没加上“@”; 2.恶意输入:如果设计者没有对这种输入做防备,别人就可能利用恶意输入,在没有用户名和密码的情况下进入你的数据库。(可以怎样恶意输入呢?这里就不研究了) ASP.NET 2.0 解决这些问题有几个思想(结合一起使用): 1.使用Validation controls:使用户的输入必需符合你设定的要求,如果不符合Validation controls就会不执行数据操作。 2.使用只能选择的控件。 3.使用带参数的SQL语句,而不是将用户输入作为语句的一部分。 4.在数据库中约束输入的类型。 什么是Validation Controls? 在我们注册用户时,通常要输入两次密码,如果两次输入不同就会给出提示,注册就不能成功,要重新输入。在这个例子中Validation Controls就是用来提示和验证两次输入相同的控件。当然他的功能还有很多,大家在实践中就会体现到。 Validation controls是服务器端的代码。这就是说用户提交后,验证是在服务器端进行的。 试一试1: 在这个实践中,我将会验证一个文本框中的输入是不是空。 1.新建一个aspx页面。 2.在工具箱(标准控件)中拖一个TextBox和Button控件到页面。TextBox的ID设为NameTextBox。Button的Text设为Submit,并确宝其UseSubmitBehavior属性为true。 3.再在工具箱(验证控件)中拖一个FieldValidator控件到页面。将其ControlToValidate设为NameTextBox,Text设为Please enter your name。 生成的代码如下: ... <h2>Chapter 13 TIO #1301 Simple Validation</h2> <form id="form1" runat="server"> <div> <asp:TextBox ID="NameTextBox" runat="server"></asp:TextBox><br /> <asp:RequiredFieldValidator ID="NameRequiredValidationcontrol1 " runat="server" ControlToValidate="NameTextBox" Text="Please enter your name"> </asp:RequiredFieldValidator control><br /> <asp:Button ID="Button1" runat="server" Text="Submit" /> </div></form></body></html> 在浏览器中运行该页面,验证控件开始是不会显示出来的。当你按下按扭,验证控件会检查在ControlToValidate中指定的控件是否符合设定的要求(RequiredFieldValidator控件检查是不是为空)。当你在TextBox中什么都不输入,按下Button看看如何。 |