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="验证不通过"
相关文档:
function selectTradezone(){
var copyTradezone = document.forms[0].copyTradezone;
new BaseTool().ajax("getTradezoneByCity",callback,[document.forms[0].city.value,document.forms[0].brand.value]);
function callba ......
2006 年 11 月 09 日
服务器端 Web 应用程序因采用富应用程序模型和交付个性化内容而具备了融入式(immersive) 的特点,这种特点越突出,应用程序架构对 Web 架构风格 REST(Representational State Transfer)的违背就越多。这种违背会降低应用程序的可伸缩性,增加系统复杂性。通过与 REST 相互协调,Ajax 架构将使融入 ......
1、当改变服务器上的状态时应当使用POST方法。不同于GET,需要设置XML- HttpRequest对象的Content-Type首部,如下所示:
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
与GET不同,POST不会限制发送给服务器的净荷的大小,而且POST请求不能保证是幂等的。
你做的大多数请求可能都是G ......
对与任意一门语言的学习,我们大都是从基础开始,而对于Ajax的学习我们大可不必,因为它本身就不是一门新的语言,Ajax=Asynchronous javascript and xml。肤浅的说,它就是基本语言混合应用的结果,正由于这种混合不是随心所欲,任意勾兑的,才 有了成系统,成规范的Ajax。
为此,我们一开始就从 ......