對(duì)于這些常用的控件有效性驗(yàn)證,在Asp.Net中有單獨(dú)的驗(yàn)證控件可供使用。他們可以滿足一般的,諸如非空,范圍、比較等的驗(yàn)證,為用戶登錄頁(yè)面添加輸入數(shù)據(jù)驗(yàn)證功能和驗(yàn)證碼功能。
驗(yàn)證控件:
Asp.Net中內(nèi)置的驗(yàn)證控件有:RequiredFieldValidation、RangeValidation、RegularExpressValidation、CompareValidation、CustomValidation和ValidationSummary等六種。其中用戶自定義驗(yàn)證控件,由于并不非常常用(要自定義很多成分,包括函數(shù)等),在此文不予論述。
簡(jiǎn)單的驗(yàn)證界面如下(Design視圖):
如圖展示了選取環(huán)境,右邊紅色字體為驗(yàn)證控件的ErrorMessage信息。設(shè)計(jì)的環(huán)境布置如下:
1)RequiredFieldValidation控件,其ControlToValidate屬性為姓名對(duì)應(yīng)文本框。對(duì)于ControlToValidate屬性,每一個(gè)驗(yàn)證控件均對(duì)應(yīng)一個(gè),作為驗(yàn)證的主體;
2)RangeValidation控件, 其ControlToValidate屬性為年齡對(duì)應(yīng)文本框;
3)CompareValidation控件, 其ControlToValidate屬性為密碼確認(rèn)對(duì)應(yīng)文本框。同時(shí)還有一個(gè)容易和ControlToValidate屬性相混淆的屬性:ControlToCompare屬性,其對(duì)應(yīng)密碼對(duì)應(yīng)文本框。區(qū)分:的要點(diǎn)即是分清主體,此時(shí)驗(yàn)證的主體是密碼確認(rèn)對(duì)應(yīng)框,在用operator時(shí)(等于、大于、小于),是比較的主體,和被比較的文本框相比較,這里即是密碼對(duì)應(yīng)文本框。
4)RegularExpressValidation控件, 其ControlToValidate屬性為郵箱對(duì)應(yīng)文本框;
5) ValidationSummary控件,它不具備ControlToValidate屬性;
其對(duì)應(yīng)的前臺(tái)代碼為:
head runat="server">
title>驗(yàn)證控件的演示頁(yè)面/title>
script type ="text/javascript" >
// Notes: 采用一張模擬用戶表的例子驗(yàn)證
/script>
/head>
body>
form id="form1" runat="server">
div>
姓名: asp:TextBox ID="txtRequiredField" runat="server">/asp:TextBox>
asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="姓名不能為空!" ControlToValidate="txtRequiredField">/asp:RequiredFieldValidator>
br/>
年齡:asp:TextBox ID="txtRange" runat="server">/asp:TextBox>
asp:RangeValidator ID="RangeValidator1" runat="server"
ErrorMessage="年齡不在規(guī)定范圍內(nèi)!" ControlToValidate="txtRange" MaximumValue="100"
MinimumValue="0" Type="Integer">/asp:RangeValidator>
br />
密碼:asp:TextBox ID="txtPassword" runat="server">/asp:TextBox>
br />
密碼確認(rèn):asp:TextBox ID="txtPasswordConfirm" runat="server">/asp:TextBox>
asp:CompareValidator ID="CompareValidator1" runat="server"
ErrorMessage="密碼前后輸入,不一致!" ControlToCompare="txtPassword"
ControlToValidate="txtPasswordConfirm">/asp:CompareValidator>
br />
郵箱:asp:TextBox ID="txtMail" runat="server">/asp:TextBox>
asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="郵箱格式不符!" ControlToValidate="txtMail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">/asp:RegularExpressionValidator>
br />
asp:ValidationSummary ID="ValidationSummary1" runat="server"
HeaderText="驗(yàn)證信息匯總" />
br />
asp:Button ID="btnSubmit" runat="server" Text="提交" onclick="btnSubmit_Click" />
/div>
/form>
/body>
/html>
當(dāng)文本框的輸入不符時(shí),出現(xiàn)界面為:
附:
對(duì)于所有RequiredFieldValidation控件,當(dāng)其只針對(duì)姓名框時(shí),當(dāng)其余框?yàn)榭諘r(shí),它們對(duì)應(yīng)的驗(yàn)證控件均失效。 可以認(rèn)為除RequiredFieldValidation控件,其余控件都要在此控件基礎(chǔ)上才能起作用。
為大家附3個(gè)精彩的專題:
ASP.NET控件使用手冊(cè)
ASP.NET數(shù)據(jù)綁定控件使用匯總
ASP.NET控件使用匯總
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家使用ASP.NET中驗(yàn)證控件有所幫助。
您可能感興趣的文章:- asp.net MaxLengthValidator 最大長(zhǎng)度驗(yàn)證控件代碼
- ASP.net的驗(yàn)證控件淺析
- ASP.NETWeb服務(wù)器驗(yàn)證控件如何使用
- asp.net數(shù)據(jù)驗(yàn)證控件
- ASP.NET中Validation驗(yàn)證控件正則表達(dá)式特殊符號(hào)的說(shuō)明
- 在ASP.NET 2.0中操作數(shù)據(jù)之十五:在GridView的頁(yè)腳中顯示統(tǒng)計(jì)信息
- 在ASP.NET 2.0中操作數(shù)據(jù)之十六:概述插入、更新和刪除數(shù)據(jù)
- 在ASP.NET 2.0中操作數(shù)據(jù)之十七:研究插入、更新和刪除的關(guān)聯(lián)事件
- 在ASP.NET 2.0中操作數(shù)據(jù)之十八:在ASP.NET頁(yè)面中處理BLL/DAL層的異常
- 在ASP.NET 2.0中操作數(shù)據(jù)之十九:給編輯和新增界面增加驗(yàn)證控件