2011-06-25 46 views
1

我有一個標準的ASP.NET(WebForms的,不MVC)分配給一個文本框自定義的驗證。我想讓TextBox事件OnBlur(或OnChange)觸發客戶控件指定的客戶端驗證功能。回到.net 1.1我可以打電話給「ValidatorHookupControl」來連接「OnLoad」,但顯然這不再是基礎設施的一部分,那麼如何實現這一目標呢?如何執行自定義驗證客戶端功能的onblur或的OnChange

我猜測它的東西很明顯,但到目前爲止,它離我而去,而太多的時間都在圈子順利通過去......任何幫助表示讚賞。

注意:我希望保留在.Net驗證結構中,以便在提交時觸發「onBlur」驗證錯誤的相同位置/格式(又名驗證摘要)。

回答

0

你並不需要一個自定義的驗證,甚至CustomValidator.ClientValidationFunction

如果你想使用ASP.NET驗證基礎設施,從BaseValidator繼承和使用JavaScript訂閱(我建議使用jQuery)的目標,你需要控制的事件。並執行驗證。可以使用CustomValidator.ClientValidationFunction。從CustomValidator繼承,on(可能)Control.PreInit()訂閱驗證器的函數來控制您需要的控件的事件,並等待函數被調用。

+1

我在這裏模糊..不知道爲什麼我會創建一個自定義的控制,但假設我沒有(說MyControl),你會怎麼連線目標控制的客戶端事件MyControl的客戶端驗證funtiohn? – Serexx

+0

噢,我的...這麼簡單 - 「ValidatorOnHookup」不再是必需的,因爲它會自動完成...... 我不知道,因爲我的ClientValidationFunction並沒有開火。 **出現**是因爲CustomValidator標籤包含Visible =「false」屬性。 只要刪除它,客戶端功能就會執行。 已解決問題。 – Serexx

相關問題