日期时间选择器验证

时间:2013-09-11 10:18:00

标签: c# winforms datetimepicker

我很抱歉发布这个问题,因为它可能对所有人都很愚蠢,但我没有得到确切的解决方案。

问题是:我的项目中有一个日期时间选择器,它出现在表单中的3个文本框之后,如果文本框中没有输入文本并输入提交,它会给出一条消息(验证)要输入的数据。同样,如果未选择日期,则应继续进行。

执行此操作的代码是什么,适用于其他文本框但不适用于datetimepicker控件的代码是:

       if (dateInsert.Value.ToString() = string.Empty)
        {
            MessageBox.Show("Please select date!");
            dateInsert.Focus();
            return;
        }

5 个答案:

答案 0 :(得分:4)

请更正代码并查看其是否有效

               if (dateInsert.Value.ToString() == "")
              {
                MessageBox.Show("Please select date!");
                dateInsert.Focus();
                return;
               }

答案 1 :(得分:2)

DateTimePicker没有直接的解决方案。清空DateTimePicker的唯一方法是设置CustomFormat,然后将empty space设置为值。

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " ";

即使你这样做,值也会在控件中被清除,但是如果你在代码中访问控件的value属性,它将返回当前的日期时间。所以你的情况总是错误的。

//This is always false
dateInsert.Value.ToString() = string.Empty

<强>解

而不是在条件中使用Value使用Text

if(dateInsert.Text = " ")

答案 2 :(得分:0)

如果您正在使用visual studio .....请使用此代码验证空文本框

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="None"
        ErrorMessage="Select Date" ControlToValidate="dateInsert" ValidationGroup="validation"> </asp:RequiredFieldValidator>

答案 3 :(得分:0)

if (string.IsNullOrEmpty(dateInsert.Text)
          {
            MessageBox.Show("Please select date!");
            dateInsert.Focus();
            return;
           }

希望这有助于某人

答案 4 :(得分:-1)

if(datepicker.Text == " ")
messagebox.show("Please Select Date");

// this works 100 %