温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Javascript中怎么实现一个.NET验证控件功能

发布时间:2021-07-01 15:46:02 来源:亿速云 阅读:137 作者:Leah 栏目:web开发

Javascript中怎么实现一个.NET验证控件功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先我们看看.NET验证控件,在页面上做了什么事情。

<asp:TextBoxIDasp:TextBoxID="txtValidator"runat="server"></asp:TextBox> <asp:RequiredFieldValidatorIDasp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"  ControlToValidate="txtValidator"ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>

在页面上解析成:

<inputnameinputname="txtValidator"type="text"id="Text1"/> <spanidspanid="Span1"style="color:Red;visibility:hidden;">RequiredFieldValidator</span>

验证控件在页面变为了一个隐藏的span,需要验证的时候,进行显示。

同时页面上出现了一些用于验证的脚步

<scripttypescripttype="text/javascript"> //<![CDATA[  //验证控件的集合,当添加一个验证控件的时候,就会多一个item  varPage_Validators=newArray(document.getElementById("RequiredFieldValidator1"));  //]]> </script> <scripttypescripttype="text/javascript"> //<![CDATA[  varRequiredFieldValidator1=document.all?document.all["RequiredFieldValidator1"]:document.getElementById("RequiredFieldValidator1");//找到验证控件  RequiredFieldValidator1.controltovalidate="txtValidator";//绑定需要验证的控件  RequiredFieldValidator1.errormessage="RequiredFieldValidator";//显示未验证通过的错误信息  RequiredFieldValidator1.evaluationfunction="RequiredFieldValidatorEvaluateIsValid";//用于验证的方法  RequiredFieldValidator1.initialvalue="";  //]]> </script> <scripttypescripttype="text/javascript"> //<![CDATA[  varPage_ValidationActive=false;  if(typeof(ValidatorOnLoad)=="function"){  ValidatorOnLoad();  }  functionValidatorOnSubmit(){  if(Page_ValidationActive){  returnValidatorCommonOnSubmit();  }  else{  returntrue;  }  }  //]]> </script>

我们通过构造类似的脚本进行控件验证

添加验证span

<asp:CheckBoxIDasp:CheckBoxID="cbSelect"runat="server"Text="选择"onclick="ajusSelectValidator(this,'spantxtUserName')"/> <asp:TextBoxIDasp:TextBoxID="txtUserName"runat="server"></asp:TextBox> <spanidspanid="spantxtUserName"style="color:Red;display:none;">*

该项不能为空</span>//添加span,用于显示验证信息

添加脚本

<scriptlanguagescriptlanguage="javascript"type="text/javascript"> varIsSelectID='<%=cbSelect.ClientID%>';  vartxtUserName='<%=txtUserName.ClientID%>';  functionajusSelectValidator(checkbox,validatorID){  ajustValidator(checkbox,validatorID,txtUserName);  }  </script> //Validator.Js  functionajustValidator(checkbox,validatorID,controltoHideID){  if(checkbox.checked){  register(validatorID,controltoHideID);  document.getElementById(controltoHideID).style.visibility="visible";  }  else{  removeValidator(validatorID);  document.getElementById(controltoHideID).style.visibility="hidden";  }  }  //添加验证关联  functionregister(validatorID,controltoValidateId){  Page_Validators.push(document.getElementById(validatorID));  varspan=document.getElementById(validatorID);  spanTest.controltovalidate=controltoValidateId;   span.errormessage="*该项不能为空";  span.display="Dynamic";  span.evaluationfunction="RequiredFieldValidatorEvaluateIsValid";  span.initialvalue="";  //spanTest.style.visibility="visible";  ValidatorOnLoad();  }  //取消验证关联  functionremoveValidator(validatorID){  varvalidator=document.getElementById(validatorID);  if(validator){  for(vari=0;i<Page_Validators.length;i++){  if(Page_Validators[i]==validator){  Page_Validators.splice(i,1);  i--;  }  }  validator.style.display="none";  ValidatorOnLoad();  }  }

PS:如果页面上没有验证控件的话,直接执行上面的代码会出错的,因为Page_Validators为null,直接往里面push为抛异常。所以用的时候,要加一个验证的控件。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI