日期时间选取器验证
本文关键字:验证 选取 时间 日期 | 更新日期: 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 %