会员注册时使用服务器验证控件来验证输入的合法性,又在客户端使用JS访问WEBSERVICE来验证会员信息是否存在,这两个验证会发生矛盾,比如EMAIL,如果输入的不合法,则验证控件生效,写出一个文本提示,而JS也进行了验证,也写出了一个提示,这时会有两个提示同时存在,很影响页面的逻辑,查阅大量文档,找到WebUIValidation.js这个文件,是.net自带的一个验证JS,打开它,在里面找到一个Page_IsValid变量,估计应该是指服务器验证是否成功的意思,按此修改JS代码,问题解决
代码如下:
function getresult(flag,value)
{
var isok=true;
if(value!="")
{
switch(flag)
{
case 1:
if(checkUserName(value))
{
url="/WebService/validate.asmx/ValidateUserName?username="+value;
objid="usernamemsg";
}
break;
case 2:
if(IgnoreSpaces(value)!="")
{
url="/WebService/validate.asmx/ValidateUserID?userid="+value;
objid="numberidmsg";
}
break;
case 3:
if(IgnoreSpaces(value)!="")
{
url="/WebService/validate.asmx/ValidateEmail?email="+value;
objid="emailmsg";
}
break;
}
document.getElementById(objid).innerHTML = "";
isok=Page_IsValid;
if(isok)
{
......
}
}