2010-10-09 153 views
2

嗨 我需要在Asp.net的形式,這裏的要求是一樣需要它們中的任何一個來驗證兩個字段。例如,有頁標題和子標題輸入框,因此它們中的任何一個都是必需的。我可以使用Asp.Net提供的驗證控件嗎?Asp.Net所需的字段驗證

任何形式的幫助,非常感謝。提前致謝。

回答

2

您可以使用ASP.NET一個CustomValidator control (MSDN)對於那些沒有通過其它標準驗證的任何一個支持的特殊情況。它是爲此創建的。

Microsoft介紹瞭如何創建custom validation function here
這裏是another tutorial實施它。

或者如果谷歌像關鍵字「creating a custom validator in asp.net」你可以挑選並從自己的項目不同的解決方案選擇。

+0

從自定義驗證器中,您可以使用您需要的任何邏輯來檢查兩個輸入字段。在這種情況下,自定義驗證器的.ControlToValidate屬性變得有些不相關。 – 2010-10-09 07:57:10

1

對於你的情況,以替代使用的CustomValidator,你可以明確地改變您是否需要現場驗證通過使用ValidatorEnable()JavaScript函數啓用。

// disable validation control 
ValidatorEnable(RequiredFieldValidator1, false); 

然後可以編寫自定義邏輯在JavaScript來確定,其中每個驗證控制則啓用或禁用的情況下,和把它綁的文本框的(客戶端)的事件中的一個(的onblur, onchangeup,onkeyup等)。

然後,在服務器端,你可以寫類似的邏輯,通過設置「已啓用」屬性做同樣的事情,並把這個邏輯在您的按鈕單擊事件,你檢查的IsValid狀態之前。

如果你正在做的是有條件確定需要的東西時,更改啓用狀態是你最好的選擇。具體做什麼記錄在ASP.NET Validation In Depth

+0

如果您正在爲服務器端和客戶端創建自定義邏輯,那麼您正在有效地完成自定義驗證器控件所需的工作。爲什麼通過在自定義驗證器之外工作來與ASP.NET驗證系統進行側步整合?我質疑利益。 – 2010-10-09 17:47:58