Проверка, чтобы убедиться, что разница во времени составляет 2 часа - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть время начала и окончания в моем веб-приложении asp.net.Теперь я хочу подтвердить, что если выбрано время начала, скажем, 10:00, то время окончания должно быть выбрано с промежутком в 2 часа или меньше.Следовательно, если я выберу 01:00 PM в качестве конечного времени, этого не должно произойти.

Как я могу проверить то же самое?

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

Если вы используете сложение или вычитание в классе 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
}
1 голос
/ 06 апреля 2011
  1. Используйте CompareValidator с type = DateTime, чтобы убедиться, что EndTime> BeginTime.Это также подтвердит, что они оба действительные значения времени.
  2. Используйте CustomValidator (C # и, необязательно, JavaScript) для применения правила 2 часа.
  3. При желании добавьте 1 или 2 RequiredFieldValidators
0 голосов
/ 06 апреля 2011

Как уже упоминалось, вы можете использовать пользовательскую реализацию проверки.Это позволит проверить, что текущее время, выбранное «начало», было не более 2 часов назад (или точно зависит от ваших условий).

Еще одна вещь, на которую стоит обратить внимание, это «проверка диапазона», которая должна соответствовать вашим требованиям.Посмотрите здесь на MSDN для примеров: http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...