ASP.NETWeb服務(wù)器驗(yàn)證控件如何使用
什么是驗(yàn)證控件?
希望用戶輸入正確的類型的數(shù)據(jù),為了驗(yàn)證用戶輸入是否滿足要求,必須對(duì)輸入的值、范圍或格式進(jìn)行檢查。
.NET中驗(yàn)證控件在哪里?
在工具箱的驗(yàn)證分組里。
常用的ASP.NET控件幾個(gè)?分別是什么?
1)CompareValidator控件:與給定值比較.
2)CustomValidator控件:用戶自己定制校驗(yàn)邏輯
3)RangeValidator控件:檢查控件的值是否在給定的有效范圍內(nèi)。
4)RegularExpressValidator控件:使用正則表達(dá)式驗(yàn)證用戶輸入的數(shù)據(jù)是否符合預(yù)定義的格式。
5)RequiredFieldValidator控件:防止用戶輸入空值。
6)ValidationSummary控件:匯總Web頁(yè)上所有驗(yàn)證控件的錯(cuò)誤信息。
追本溯源:
所有的驗(yàn)證控件都是從基類BaseValidator中繼承而來的,為驗(yàn)證控件提供了一些公有的屬性:
怎樣使用ASP.Net驗(yàn)證控件?
和添加其他服務(wù)器控件一樣,即可啟用對(duì)用戶輸入的驗(yàn)證。
在控件的ControlToValidator屬性中賦予要關(guān)聯(lián)驗(yàn)證控件的ID號(hào),關(guān)聯(lián)起來。
客戶端驗(yàn)證?服務(wù)器驗(yàn)證?
客戶端的驗(yàn)證
為了用戶體驗(yàn),防止人家提交很多遍都填不對(duì) 例如一些合法性檢查,比如字符串長(zhǎng)度,非法字符,正則表達(dá)式,非空等。大多是友好提示(本質(zhì)不靠譜,但響應(yīng)快。)
服務(wù)器端的驗(yàn)證
業(yè)務(wù)邏輯、安全性需要的真正的驗(yàn)證,比如密碼對(duì)不對(duì),需要在后臺(tái)寫代碼來有沒有權(quán)限之類的。需要提交數(shù)據(jù)并保存的地方,放到服務(wù)器驗(yàn)證。(為了安全,客戶端驗(yàn)證的,服務(wù)器端也驗(yàn)證。)
混合驗(yàn)證:
客戶端和服務(wù)器都需要驗(yàn)證啦。
DEMO:
這里面主要說說客戶端驗(yàn)證和服務(wù)器驗(yàn)證 兩種方式,以CustomValidator控件為例:
驗(yàn)證用戶輸入的是否為偶數(shù)
客戶端驗(yàn)證:
在這里用到JavaScrip代碼:
<script language="javascript " type="text/javascript"> /*驗(yàn)證是否為偶數(shù)函數(shù)*/ function ClientValidate(source, args) { if ((args.value % 2) == 0) args.IsValid = true; else args.IsValid = false; } </script>
客戶端驗(yàn)證控件代碼:
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtOS" ErrorMessage="不是一個(gè)偶數(shù)!" ClientValidationFunction="ClientValidate"></asp:CustomValidator>
服務(wù)器驗(yàn)證,C#代碼:
public partial class _Default : System.Web.UI.Page { //服務(wù)器端驗(yàn)證輸入是否為偶數(shù)。 protected void cvInput_ServerValidate(object source, ServerValidateEventArgs args) { //獲取驗(yàn)證控件輸入值。 int value = int.Parse(args.Value); //判斷是否為偶數(shù)。 if ((value % 2) == 0) { args.IsValid = true; } else { args.IsValid = false; } } }
服務(wù)器驗(yàn)證,控件代碼:
<asp:CustomValidator ID="cvInput" runat="server" ControlToValidate="txtOS" ErrorMessage="不是一個(gè)偶數(shù)!" OnServerValidate="ServerValidate" ></asp:CustomValidator>
最終得到的效果圖如下所示:
和CS的控件比起來,CS的控件中沒有驗(yàn)證控件哦。
學(xué)了母版、用戶控件的使用,今天又學(xué)習(xí)了ASP.NETWeb服務(wù)器驗(yàn)證控件的使用方法,希望大家每篇文章都有所收獲。
相關(guān)文章
.NET?API?接口數(shù)據(jù)傳輸加密最佳實(shí)踐記錄
這篇文章主要介紹了.NET?API?接口數(shù)據(jù)傳輸加密最佳實(shí)踐記錄,我們?cè)谧?Api?接口時(shí),相信一定會(huì)有接觸到要給傳輸?shù)恼?qǐng)求?body?的內(nèi)容進(jìn)行加密傳輸。其目的就是為了防止一些敏感的內(nèi)容直接被?UI?層查看或篡改,需要的朋友可以參考下2022-10-10.NET中實(shí)現(xiàn)對(duì)象數(shù)據(jù)映射示例詳解
這篇文章主要為大家介紹了.NET中實(shí)現(xiàn)對(duì)象數(shù)據(jù)映射示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10在.NET中掃描局域網(wǎng)服務(wù)的實(shí)現(xiàn)方法
下面小編就為大家分享一篇在.NET中掃描局域網(wǎng)服務(wù)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01ubuntu16.4下用jexus部署ASP.NET Core環(huán)境
這篇文章主要以圖文結(jié)合的方式介紹了ubuntu16.4下ASP.NET Core部署環(huán)境搭建步驟,感興趣的小伙伴們可以參考一下2016-07-07在SQL Server中使用CLR調(diào)用.NET方法實(shí)現(xiàn)思路
在.NET中新建一個(gè)類,并在這個(gè)類里新建一個(gè)方法,然后在SQL Server中調(diào)用這個(gè)方法,接下來我們將實(shí)現(xiàn)這個(gè)功能做了以下幾個(gè)步驟,詳細(xì)看下本文,感興趣的你可不要錯(cuò)過了哈2013-02-02