2011-04-06 40 views
0

我在asp.net web應用程序中有開始時間和結束時間。現在我想驗證一下,如果選擇了開始時間,例如10:00 AM,那麼應該選擇結束時間,並且間隔爲2小時或更短。因此,如果我選擇01:00 PM作爲結束時間,那麼這不應該發生。驗證以確保時間差在2小時內

我如何驗證相同?

+0

您是否調查了自定義驗證器? – 2011-04-06 09:57:55

+0

是的,但我不確定在驗證計時時如何工作 – 2011-04-06 10:02:00

回答

1

如果你在DateTime類中使用加或減,它會返回一個TimeSpan,它可以在條件中進行比較。

當創建一個新的時間跨度類,你可以設定小時小步舞和秒以這種形式:

new TimeSpan(hours, minutes, seconds); 

你的情況,您要使用:

new TimeSpan(2, 0, 0); 

嘗試是這樣的:

//Assuming you created your variables and assigned them somewhere above 
DateTime startTime, endTime; 
if(endTime - startTime > new TimeSpan(2, 0, 0)) { 
    //validation error 
} 
1
  1. 使用類型爲DateTime的CompareValidator來確保EndTime> BeginTime。這也將驗證它們都是有效的時間值。
  2. 使用CustomValidator(C#和可選的JavaScript)來執行2小時規則。
  3. 可選增加1個或2 RequiredFieldValidators
+0

如何使用customvalidator來執行2小時規則? – 2011-04-06 12:28:25

+0

只需雙擊並寫出C#事件:解碼字符串形式2文本框,減去,檢查diff.TotalMinutes <120。 – 2011-04-06 13:13:27