验证以确保时间差在2小时内

时间:2011-04-06 09:56:51

标签: c# javascript asp.net visual-studio validation

我的asp.net Web应用程序中有开始时间和结束时间。现在我想验证如果选择开始时间,比如上午10:00,则应选择结束时间,间隔为2小时或更短。因此,如果我选择01:00 PM作为结束时间,那么这不应该发生。

我如何验证相同的内容?

3 个答案:

答案 0 :(得分:1)

  1. 使用带有type = DateTime的CompareValidator来确保EndTime>的BeginTime。这也将验证它们都是有效的时间值。
  2. 使用CustomValidator(C#和可选的JavaScript)来强制执行2小时规则。
  3. 可选择添加1或2个RequiredFieldValidators

答案 1 :(得分:1)

如果在DateTime类上使用加法或减法,它将返回一个TimeSpan,可以在条件中进行比较。

创建新的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
}

答案 2 :(得分:0)

如前所述,您可以使用自定义验证实现。这将检查当前选择的“开始”时间不超过2小时(或完全取决于您的条件)。

要看的另一件事是“范围验证”,它应该满足您的要求。请查看MSDN上的示例:http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic5