2009-08-27 125 views
1

我創建了一個數據重複多次的入口模板。現在我想確保至少有一個這些項目被填充。從代碼隱藏的ASP.net驗證

我這樣做的方式是使用Count屬性從通用列表List中查看有多少個被使用(在我的控制中有一些邏輯允許我選擇實際使用的條目)。

有什麼辦法可以給頁面的validationsummary添加一些東西,以通知用戶至少需要填充一個itme。 我想在後面的代碼中執行count-check ...

if (EnteredClasses.Count > 0) 
{ 
    //do stuff here 
} 
else 
{ 
    //show validation error 
} 

回答

2

我會使用CustomValidator控件,與ServerValidate函數內聯,並檢查Page.IsValid。如果ServerValidate函數將args.IsValid設置爲false,那麼您的CustomValidator控件的錯誤消息將顯示在驗證摘要中。

Andrew

+0

我不知道customvalidators直到現在還沒有ControlToValidate要求,thx :) – 2009-08-27 12:08:04

0

我會欺騙和合並兩種方法。根據你的問題,你似乎需要使用驗證總結,所以你需要基本的asp驗證。然後你需要使用自定義驗證器。

與自定義驗證的問題,是你必須將它連接到一個特定的控制,然後如果你想驗證多個項目不是一個探微實施的javascrip方法

function ClientValidate(source, agruments) 
    { 
     // Do your check here where source is the span for the validator and 
     // argument is an object with .value the value of the control to which 
     // the validator is attached and .isvalid that indicate if the validation 
     // checks out (that's what you set to true or false) 
    } 

的問題。所以我會實現這個方法,並忽略arguments.value,然後使用jQuery來檢查你的整個表單,並做你需要的任何驗證,然後設置爲有效。