CustomValidator控件+ajax 实现注册时的异步验证
在.net的验证控件中有一个CustomValidator验证控件,其属性ClientValidationFunction为客户端函数,在需要验证的控件失去焦点或者post数据时,调用该函数。
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomValidatorTest.aspx.cs" Inherits="Web.CustomValidatorTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<mce:script type="text/javascript" src="jquery/jquery-1.2.6-vsdoc-cn.js" mce_src="jquery/jquery-1.2.6-vsdoc-cn.js"></mce:script><%--jquery文件--%>
<mce:script type="text/javascript"><!--
function validator(oSrc, args) {
//oSrc 为object 类型,为CustomValidator1对象
//args为有两个属性:Value为验证控件的值,
// IsValid 为bool类型,表示是否验证通过
$.ajax({
async: false, //同步,异步不行,在ajax为返回之前,函数就结束,提交IsValid的值了。
type: "POST",
url: "CustomValidatorTestHander.ashx",
data: "val=" + args.Value,
success: function(msg) {
if (msg == "123") {
//如果后台返回值为123,验证失败
args.IsValid = false;
//todo
//这里是否可以修改oSrc对象来实现异步请求呢?
}
}
});
}
// --></mce:script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>输入123验证失败:</td>
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
<td><asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="验证不通过"
相关文档:
最近网上提的很多的一个新概念就是 AJAX 了, 那么, AJAX 是什么呢? 以下内容引用网上资料:
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:
Ajax(Asynchronous JavaScript + XML)的定义
基于 web标准(sta ......
现在刚刚看一些关于Ajax的一些知识点。把它写下来,作为知识的备忘录!
以下纯属个人理解!!!
1. Ajax分为页面部分(前端),和后台处理部分(后端,servlet);
2. 页面:创建XmlHttpRequest对象,不同的浏览器,所支持的XmlHttpRequest对象不通;
页面:建立发 ......
XMLHttpRequest对象是Ajax的核心,它有许多属性,方法和事件以便于脚本的处理和控制HTTP的请求与响应
下面是关于XMLHttpRequest对象的一些属性和方法介绍
1.readyState属性
当XMLHttpRequest对象被创建后,readyState属性标识了当前对象所处的状态,具体的值代表意义如下:
0 未初始化状态, ......
对与任意一门语言的学习,我们大都是从基础开始,而对于Ajax的学习我们大可不必,因为它本身就不是一门新的语言,Ajax=Asynchronous javascript and xml。肤浅的说,它就是基本语言混合应用的结果,正由于这种混合不是随心所欲,任意勾兑的,才 有了成系统,成规范的Ajax。
为此,我们一开始就从 ......