ошибка при попытке сохранить пустое поле даты рождения - PullRequest
0 голосов
/ 28 июня 2011

Я пытаюсь проверить два поля для ввода даты рождения. Если участник не введет эти два поля, появится сообщение об ошибке, например, «пожалуйста, введите правильный формат даты»

При попытке сохранить без ввода значений в текстовом поле это выглядело как ошибка на Datetime DV.

Строка не была распознана как действительный DateTime.

private void btnCTimetablessave_Click(object sender, EventArgs e)
{
    string dob = tbStartDate.Text;
    DateTime dv;
    if (!DateTime.TryParse(dob, out dv))
    {

        MessageBox.Show("pls enter a valid  start date");
        return;
    }

    string format1 = dv.ToString("yyyy-MM-dd");
    string dob2 = tbEndDate.Text;
    DateTime dt2;
    if (!DateTime.TryParse(dob2, out dt2))
    {
        MessageBox.Show("pls enter valid end date");
        return;
    }

    string format2 = dt2.ToString("yyyy-MM-dd");

Тем не менее он показывал ошибку в datetime Dv

"Строка не была распознана как действительный DateTime";

Ответы [ 3 ]

2 голосов
/ 28 июня 2011

Очевидно, что tbStartDate.Text не содержит действительной даты.По крайней мере, в соответствии с текущими настройками среды.

Локализация может быть проблемой здесь.Здесь есть хороший ответ: Строка не была распознана как действительный формат даты / времени "dd / MM / гггг" .

Обновление

Вместоиспользуя TryParse, вы можете использовать ParseExact:

DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);

Таким образом, вы можете указать ожидаемый формат ввода.

1 голос
/ 28 июня 2011

Что такое dbtype параметра даты?Вы должны установить значение для объекта того же типа, что и ваш аргумент.

0 голосов
/ 28 июня 2011

Даже лучше, чем "TryParse" и "ParseExact", это "TryParseExact". И одна из перегрузок в TryParseExact принимает строковый массив строк формата. Таким образом, вы можете иметь еще большую гибкость в отношении ввода, которое вы принимаете. Также с помощью параметра DateTimeStyles вы можете указать дополнительную гибкость в пустом пространстве, которое встречается в анализируемой строке.

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