Проверка частей даты / времени, которые вводятся как отдельные поля - PullRequest
2 голосов
/ 04 февраля 2012

Среда: 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);
}

Я что-то упустил или это можно улучшить?

1 Ответ

0 голосов
/ 04 февраля 2012

Пользовательский ввод должен быть проверен через клиентский скрипт и серверный скрипт. Вы можете выбрать customValidator. Вы также можете проверить ввод путем обработки onsubmit события <form/>

<script type="text/javascript">
  function validateMyForm(){
    //write code to validate user input.
    if(!succeed)
       return false;
    return true; 
  }
</script>
<form id="form1" runat="server" onsubmit="return validateMyForm()">
      ...
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...