ASP.NET 验证控件 CustomValidator,即可自定义客户端验证函数,当验证通过后还可在服务器端再次自定义验证。既然都可以自定义,那随己所需,用途可就多了去了。
- // 客户端验证方法
- function ClientValidate(source, arguments)
- {
- if(arguments.Value == "") arguments.IsValid = false; // Value首字母必须大写
- else arguments.IsValid = true;
- }
- //服务器端验证方法
- protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
- {
- if (args.Value == "admin") args.IsValid = false;
- else args.IsValid = true;
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- if (Page.IsValid)
- {
- Response.Redirect("http://www.baidu.com");
- }
- }
- // 其他代码省略
如果要验证的TextBox值为空,点Button1无反应,提示出错信息,不为空时客户端验证通过。但如果值为“admin”则在服务器具端又未获得验证通过,依然提示验证出错信息。否则验证通过定向到百度页面。
例如:注册用户时验证用户名,如果不用AJAX,这倒是个省事的方式。先客户端验证用户名是否合法(诸如为空、长度、字母数字组合、敏感词等),再由服务端查询数据库验证输入的用户名是否已经存在。
以前只晓得ClientValidationFunction,才发现OnServerValidate,呵呵……