#c# #javascript #asp.net #visual-studio #validation
#c# #javascript #asp.net #visual-studio #проверка
Вопрос:
У меня есть время начала и время окончания в моем asp.net веб-приложение. Теперь я хочу проверить, что если выбрано время начала, скажем, 10: 00 утра, то время окончания должно быть выбрано с интервалом в 2 часа или меньше. Следовательно, если я выберу 01: 00 вечера в качестве времени окончания, то этого не должно произойти.
Как я могу проверить то же самое?
Комментарии:
1. Вы исследовали пользовательские средства проверки?
2. Да, но я не уверен, как это работает при проверке времени
Ответ №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
}
Ответ №2:
- Используйте CompareValidator с type=DateTime, чтобы убедиться, что EndTime > beginTime. Это также подтвердит, что они оба являются допустимыми значениями времени.
- Используйте пользовательский валидатор (C # и, необязательно, JavaScript) для обеспечения соблюдения правила 2 часов.
- При необходимости добавьте 1 или 2 RequiredFieldValidators
Комментарии:
1. Как использовать customvalidator для обеспечения соблюдения правила 2 часов?
2. Просто дважды щелкните и запишите событие C #: расшифруйте строки из 2 текстовых полей, вычтите, проверьте разницу. Общее количество минут < 120.
Ответ №3:
Как уже упоминалось, вы можете использовать пользовательскую реализацию проверки. Это позволит проверить, что текущее время, выбранное ‘start’, было не более чем за 2 часа до этого (или точно зависит от ваших условий).
Еще одна вещь, на которую следует обратить внимание, это «проверка диапазона», которая должна соответствовать вашим требованиям. Посмотрите примеры здесь, в MSDN: http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic5