C# 輸人驗(yàn)證
當(dāng)用戶輸入數(shù)據(jù)時(shí),應(yīng)該檢查數(shù)據(jù)的有效性。檢查可在客戶端進(jìn)行,也可以在服務(wù)器端進(jìn)行。在客戶端檢查數(shù)據(jù)時(shí),可使用JavaScript。但是,如果使用JavaScript在客戶端檢查了數(shù)據(jù),還應(yīng)該在服務(wù)器端再次檢查,因?yàn)槟悴荒芡耆湃慰蛻舳?。在瀏覽器中是可以禁用JavaScript的,而且黑客能夠使用可接收錯(cuò)誤輸入的不同JavaScript函數(shù)。在客戶端檢査數(shù)據(jù)可提高性能,因?yàn)樵跀?shù)據(jù)通過(guò)客戶端的驗(yàn)證之前,不會(huì)在客戶端和服務(wù)器之間來(lái)回發(fā)送。
使用ASP.NET時(shí),不需要自行編寫(xiě)驗(yàn)證函數(shù)。ASP.NET中有許多驗(yàn)證控件可創(chuàng)建客戶端和服務(wù)器端驗(yàn)證。在下例中,驗(yàn)證控件RequiredFieldValidator與文本框playerlTextBox關(guān)聯(lián)在一起。所有驗(yàn)證控件都具有ErrorMessage和ControlToValidate屬性。如果輸入不正確,將顯示ErrorMessage定義的消息。默認(rèn)情況下,在驗(yàn)證控件的位置顯示錯(cuò)誤消息。ControlToValidate屬性定義了要檢查輸入的控件。
<asp:TextBox ID=uplayerlTextBox" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidatorl" runat="server"
ErrorMessage="Enter a name for player 1" ControlToValidate="playerlTextBox">
</asp:RequiredFieldValidator〉
下表列舉并描述了所有驗(yàn)證控件。
控件 | 描述 |
RequiredFieldValidator | 指定要驗(yàn)證的控件必須有輸入值。如果要驗(yàn)證的控件有初始值,而用戶徭要修改這個(gè)初始值, 則可在驗(yàn)證控件的InitialValue屈性中設(shè)置這個(gè)初始值 |
RangeValidator | 定乂了允許用戶輸入的最小值和最大值。該控件的屈性為MinimumValue和MaximumValue |
CompareValidator | 比較多個(gè)值(如密碼)。此驗(yàn)證控件不僅可以比較兩個(gè)值是否相等,還可以使用其Operator屬性 設(shè)盟其他選項(xiàng)。Operator厲性的類型為ValidationCompareOperator,該類型定義了一些枚舉值,如Equal、NotEquaK GreaterThan 和 DataTypeCheck。使用 DataTypeCheck 時(shí),可檢査輸入值是不是特定數(shù)據(jù)類型,例如是不是正確的日期輸入 |
點(diǎn)擊加載更多評(píng)論>>