Среда: ASP.NET 3.5, Visual Studio 2008
У меня есть 3 текстовых поля
TextBox1.Text = "is a date value";
TextBox2.Text = "is hour of a datetime";
TextBox3.Text = "is minutes of a datetime";
(не спрашивайте почему :) это одно из тех ... это просто)
Есть ли способ использовать один элемент проверки asp.net для проверки ( на стороне клиента и на сервере ), является ли комбинация всех 3 текстовых полей допустимой датой-временем?
Кроме того, мне кажется, что он может иметь различные возможности (то есть просто вводить что-то в одно из текстовых полей, допустимую дату, но неверное время и т. Д.)
Если это невозможно, то как будет выглядеть проверка на стороне серверакак?
Например, вот что у меня есть:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime dateOutput = default(DateTime);
DateTime.TryParse(TextBox1.Text, out dateOutput);
if (dateOutput != DateTime.MinValue)
{
string dateString = string.Empty;
if (TextBox2.Text == string.Empty && TextBox3.Text == string.Empty)
dateString = dateString = string.Format("{0} {1}:{2}", TextBox1.Text, DateTime.Now.Hour, DateTime.Now.Minute);
DateTime.TryParse(dateString, out dateOutput);
}
args.IsValid = (dateOutput != DateTime.MinValue);
}
Я что-то упустил или это можно улучшить?