2012-09-05 47 views
0

好了,所以我有我的asp.net頁面,我所有的比較和驗證requiredfield的。這讓我有兩個擔憂。我無法理解頁面驗證

  1. 需要額外的驗證嗎?在代碼背後需要什麼嗎?我想他們是無法擊中「保存」按鈕,直至他們的文本信息是完整的,它似乎只用驗證控件做這個,但我,如果有我需要採取其他步驟不確定。

  2. 如果我有一個requiredfield驗證,我想關閉它在特殊情況下,在代碼隱藏在那裏我將它設置爲true?我可以在點擊「保存」按鈕的時候這樣做嗎?在它阻止按鈕運行之前?

+1

這可能會幫助 - [ASP.NET驗證詳解(http://msdn.microsoft.com/en -us /庫/ aa479045.aspx) – jrummell

回答

1

1.

你需要儘可能多的驗證需要,你可以創建許多不同的驗證。 您需要在後面的代碼中進行服務器端驗證。如果發生回發,表單會通過驗證,但是有一些驗證功能在客戶端無法使用。例如,你註冊到一個主頁,你有一個表單需要用戶名,也有一個正則表達式驗證器。這些驗證器將在客戶端運行。但是,如果用戶名必須是唯一的,並且只能使用數據庫進行檢查,那麼顯然這不能在客戶端進行檢查,因此,客戶端將評估頁面有效,將發生回傳並這是服務器端檢查用戶名是否唯一的工作。

注意,如果你需要做的奇異的東西,你可以創建自定義的驗證。

2.

根據您的需求時,你需要做的,你可以設置你的校驗Enabled屬性。詳細瞭解here

1

按我的知識,

  1. 我們應該包括在服務器端的「Page.IsValid」的檢查(代碼後面)每當我們使用的是ASP.NET驗證器。這將確保在服務器端進行檢查,即使JavaScript在瀏覽器上被禁用。

  2. 不,你不能這樣做的保存按鈕點擊作爲,直到驗證通過按一下按鈕就不會被擊中。

希望這有助於!

1

1,如果你想添加驗證服務器

protected void Button1_Click(object sender, EventArgs e) { 

//Proceed only if the validation is successfull 
if (!Page.IsValid) { 
return;} 

} 

2可以設置CausesValidation="false"到按鈕