首页 > 网站知识
读者已经看到了ASP.Net服务器端数据验证的例子,在那个例子中,使用数据验证来保证输入框和下拉列表中一定有数据存在。这里将进一步探讨服务器端数据验证机制,将涉及到服务器端数据验证的方方面面。
数据验证机制通过数据验证组件来实现。数据验证组件从本质上来讲,和其他的ASP.Net务器端组件没有不同,向ASP.Net页面添加数据验证组件的语法也和其他的服务器端组件的添加一样。
它声明了一个验证数据是否输入的数据验证组件,并且将这个组件用于验证一个名为“RadioButtonList1”的ASP.Net服务器端组件。
数据验证组件多种多样,不仅仅有验证数据是否输入的组件,还有验证数据范围、验证数据是否符合某一样式等的组件。
一个ASP.Net服务器端组件可以进行多种数据验证,可以被多个数据验证组件同时作用,例如,可以在验证一个组件中数据是否输入的同时也验证输入的数据是否在一定的范围内。但是,并不是每种ASP.Net服务器端组件都能够使用数据验证机制来进行数据验证。
ASP.Net缺省时在服务器端和客户端同时地进行数据验证,然而,并不是所有的浏览器都支持客户端数据验证,这个世界上毕竟还存在着不支持客户端脚本和DHTML的Web浏览器(例如,有名的纯文本浏览器Lynx)。所以,ASP.Net也可以进行纯粹的服务器端数据验证,这就涉及到页面的—个属性——ClientTarget了。
ClientTarget属性可以设为“Downlevel”或“Uplevel”。“Downlevel”意味着不进行客户端验证,而“Uplevel”意味着强制进行客户瑞验证。需要注意的是,这个属性的值是一个枚举类型的数据.所以在使用代码设定“Page”的属性的时候,需要使用ClientTarget.Downlevel和ClientTarget.Uplevel来引用。当然,也可以使用下面的语法来设定“Page”的属性。
如果用浏览器访问这个页面,输入数据,然后进行数据验证,就会发现实际的数据检验是通过服务器端进行的。可以看一看下面的HTML源代码,第一段是“ClientTarget”设置为“Downlevel”时的代码.第二段是设置为“Uplevel”时的代码。