使用javascript 實現.net 驗證控制元件功能
首先我們看看.NET 中的驗證控制元件,在頁面上做了什麼事情。
<asp:TextBox ID="txtValidator" runat="server">asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtValidator"ErrorMessage="RequiredFieldValidator">asp:RequiredFieldValidator>
在頁面上解析成:
<input name="txtValidator" type="text" id="Text1" />
<span id="Span1" style="color: Red; visibility: hidden;">RequiredFieldValidatorspan>
驗證控制元件在頁面變為了一個隱藏的span,需要驗證的時候,進行顯示。
同時頁面上出現了一些用於驗證的腳步
//
//驗證控制元件的集合,當新增一個驗證控制元件的時候,就會多一個item
var Page_Validators = new Array(document.getElementById("RequiredFieldValidator1"));
//]]>
//
var RequiredFieldValidator1 = document.all ? document.all["RequiredFieldValidator1"] : document.getElementById("RequiredFieldValidator1"); //找到驗證控制元件
RequiredFieldValidator1.controltovalidate = "txtValidator";//繫結需要驗證的控制元件
RequiredFieldValidator1.errormessage = "RequiredFieldValidator";//顯示未驗證通過的錯誤資訊
RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";//用於驗證的方法
RequiredFieldValidator1.initialvalue = "";
//]]>
//
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
//]]>
我們通過構造類似的指令碼進行控制元件驗證
- 新增驗證span
<asp:CheckBox ID="cbSelect" runat="server" Text="選擇"onclick="ajusSelectValidator(this,'spantxtUserName')" />
<asp:TextBox ID="txtUserName" runat="server">asp:TextBox>
<span id="spantxtUserName" style="color: Red; display: none;">*該項不能為空span>//新增span,用於顯示驗證資訊
- 新增指令碼
<script language="javascript" type="text/javascript">
var IsSelectID = '';
var txtUserName = '';
function ajusSelectValidator (checkbox, validatorID) {
ajustValidator(checkbox, validatorID, txtUserName);
}
script>
//Validator.Js
function ajustValidator(checkbox, validatorID, controltoHideID) {
if (checkbox.checked) {
register(validatorID, controltoHideID);
document.getElementById(controltoHideID).style.visibility = "visible";
}
else {
removeValidator(validatorID);
document.getElementById(controltoHideID).style.visibility = "hidden";
}
}
//新增驗證關聯
function register(validatorID, controltoValidateId) {
Page_Validators.push(document.getElementById(validatorID));
var span = document.getElementById(validatorID);
spanTest.controltovalidate = controltoValidateId;
span.errormessage = "*該項不能為空";
span.display = "Dynamic";
span.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
span.initialvalue = "";
// spanTest.style.visibility = "visible";
ValidatorOnLoad();
}
//取消驗證關聯
function removeValidator(validatorID) {
var validator = document.getElementById(validatorID);
if (validator) {
for (var i = 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為拋異常。所以用的時候,要加一個驗證的控制元件。
原文地址:http://www.cnblogs.com/stormlly/archive/2009/08/02/1536903.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-611135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Asp.net(C#)實現驗證碼功能ASP.NETC#
- 使用javascript實現使用者名稱驗證JavaScript
- ASP.NET驗證控制元件的使用ASP.NET控制元件
- .Net中用ajax控制元件實現功能(例)控制元件
- 利用jQuery實現表單驗證功能jQuery
- Java實現郵箱驗證碼功能Java
- javascript實現文字框標籤驗證JavaScript
- 使用.Net Core實現的一個圖形驗證碼
- 【Hover】ASP.Net實現驗證碼!ASP.NET
- 網站狀態驗證WebBrowser控制元件實現網站Web控制元件
- javascript實現的身份證號碼驗證程式碼JavaScript
- SSM專案使用攔截器實現登入驗證功能SSM
- Laravel 專案實現郵箱驗證功能Laravel
- JSP註冊驗證功能的實現JS
- SpringSceurity(4)---簡訊驗證碼功能實現Spring
- django與小程式實現登入驗證功能Django
- ASP.NET中Repeater控制元件實現分頁功能ASP.NET控制元件
- ASP.NET驗證控制元件祥解 (轉)ASP.NET控制元件
- javascript實現的驗證碼程式碼例項JavaScript
- Kubernetes 兩步驗證 - 使用 Serverless 實現動態准入控制Server
- 驗證控制元件控制元件
- 實現基於JWT的Token登入驗證功能JWT
- 分享一個圖片驗證碼功能的實現
- Ionic Angular 實現驗證碼倒數計時功能Angular
- javascript實現的身份證號碼合法性驗證程式碼JavaScript
- ASP.NET自定義驗證控制元件CustomValidator 的使用方法ASP.NET控制元件
- easy-captcha實現驗證碼驗證APT
- ASP.NET Core - 實現自定義WebApi模型驗證ASP.NETWebAPI模型
- JWT驗證使用者資訊功能JWT
- PHP實現隨機數字、字母的驗證碼功能PHP隨機
- TP5 實現簡訊驗證碼註冊功能
- javascript 驗證身份證JavaScript
- golang 中使用 JWT 實現登入驗證GolangJWT
- 如何使用angularjs實現表單驗證AngularJS
- 使用 Spring Validator 介面實現驗證Spring
- ASP.NET MVC中使用FluentValidation驗證實體ASP.NETMVC
- Java使用正規表示式對註冊頁面進行驗證功能實現Java
- 在ASP.NET MVC中使用Knockout實踐06,自定義驗證、非同步驗證ASP.NETMVC非同步