什么是驗證控件?
希望用戶輸入正確的類型的數(shù)據(jù),為了驗證用戶輸入是否滿足要求,必須對輸入的值、范圍或格式進(jìn)行檢查。
.NET中驗證控件在哪里?
在工具箱的驗證分組里。
常用的ASP.NET控件幾個?分別是什么?
1)CompareValidator控件:與給定值比較.
2)CustomValidator控件:用戶自己定制校驗邏輯
3)RangeValidator控件:檢查控件的值是否在給定的有效范圍內(nèi)。
4)RegularExpressValidator控件:使用正則表達(dá)式驗證用戶輸入的數(shù)據(jù)是否符合預(yù)定義的格式。
5)RequiredFieldValidator控件:防止用戶輸入空值。
6)ValidationSummary控件:匯總Web頁上所有驗證控件的錯誤信息。
追本溯源:
所有的驗證控件都是從基類BaseValidator中繼承而來的,為驗證控件提供了一些公有的屬性:
怎樣使用ASP.Net驗證控件?
和添加其他服務(wù)器控件一樣,即可啟用對用戶輸入的驗證。
在控件的ControlToValidator屬性中賦予要關(guān)聯(lián)驗證控件的ID號,關(guān)聯(lián)起來。
客戶端驗證?服務(wù)器驗證?
客戶端的驗證
為了用戶體驗,防止人家提交很多遍都填不對 例如一些合法性檢查,比如字符串長度,非法字符,正則表達(dá)式,非空等。大多是友好提示(本質(zhì)不靠譜,但響應(yīng)快。)
服務(wù)器端的驗證
業(yè)務(wù)邏輯、安全性需要的真正的驗證,比如密碼對不對,需要在后臺寫代碼來有沒有權(quán)限之類的。需要提交數(shù)據(jù)并保存的地方,放到服務(wù)器驗證。(為了安全,客戶端驗證的,服務(wù)器端也驗證。)
混合驗證:
客戶端和服務(wù)器都需要驗證啦。
DEMO:
這里面主要說說客戶端驗證和服務(wù)器驗證 兩種方式,以CustomValidator控件為例:
驗證用戶輸入的是否為偶數(shù)
客戶端驗證:
在這里用到JavaScrip代碼:
script language="javascript " type="text/javascript">
/*驗證是否為偶數(shù)函數(shù)*/
function ClientValidate(source, args)
{
if ((args.value % 2) == 0)
args.IsValid = true;
else
args.IsValid = false;
}
/script>
客戶端驗證控件代碼:
asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="txtOS" ErrorMessage="不是一個偶數(shù)!" ClientValidationFunction="ClientValidate">/asp:CustomValidator>
服務(wù)器驗證,C#代碼:
public partial class _Default : System.Web.UI.Page
{
//服務(wù)器端驗證輸入是否為偶數(shù)。
protected void cvInput_ServerValidate(object source, ServerValidateEventArgs args)
{
//獲取驗證控件輸入值。
int value = int.Parse(args.Value);
//判斷是否為偶數(shù)。
if ((value % 2) == 0)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
}
服務(wù)器驗證,控件代碼:
asp:CustomValidator ID="cvInput" runat="server"
ControlToValidate="txtOS" ErrorMessage="不是一個偶數(shù)!" OnServerValidate="ServerValidate" >/asp:CustomValidator>
最終得到的效果圖如下所示:
和CS的控件比起來,CS的控件中沒有驗證控件哦。
學(xué)了母版、用戶控件的使用,今天又學(xué)習(xí)了ASP.NETWeb服務(wù)器驗證控件的使用方法,希望大家每篇文章都有所收獲。
您可能感興趣的文章:- ASP.NET表單驗證方法詳解
- asp.net 繼承自Page實現(xiàn)統(tǒng)一頁面驗證與錯誤處理
- asp.net MaxLengthValidator 最大長度驗證控件代碼
- jQuery 驗證插件 Web前端設(shè)計模式(asp.net)
- ASP.net的驗證控件淺析
- ASP.NET MVC5添加驗證(4)
- ASP.NET中HTML頁面的訪問驗證設(shè)置方法
- 詳解ASP.NET MVC Form表單驗證
- ASP.NET中Validation驗證控件正則表達(dá)式特殊符號的說明
- 在ASP.NET 2.0中操作數(shù)據(jù)之十九:給編輯和新增界面增加驗證控件
- 在ASP.NET 2.0中操作數(shù)據(jù)之三十九:在DataList的編輯界面里添加驗證控件