日期时间选取器验证

本文关键字:验证 选取 时间 日期 | 更新日期: 2023-09-27 18:31:04

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

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

这样做的代码是什么,适用于其他文本框而不适用于日期时间选择器控件的代码是:

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

日期时间选取器验证

请更正代码,看看它是否有效

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

没有直接的解决方案可以清空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 = " ")

如果你使用的是Visual Studio.....使用此代码验证空文本框

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="None"
        ErrorMessage="Select Date" ControlToValidate="dateInsert" ValidationGroup="validation"> </asp:RequiredFieldValidator>
if (string.IsNullOrEmpty(dateInsert.Text)
          {
            MessageBox.Show("Please select date!");
            dateInsert.Focus();
            return;
           }

希望这对某人有所帮助

if(datepicker.Text == " ")
messagebox.show("Please Select Date");
// this works 100 %