一个有txtDateReceived,第二个有txtVendorPackDate。在插入之前将添加记录我必须检查txtDateReceived是否比txtVendorPackDate更差。我尝试使用TextChanged事件。
protected void txtVendorPackDate_TextChanged(object sender, EventArgs e)
{
DateTime fromDate = DateTime.MinValue;
DateTime toDate = DateTime.MaxValue;
bool parseResultMin = DateTime.TryParse(txtVendorPackDate.Text, out fromDate);
bool parseResultMax = DateTime.TryParse(txtDateReceived.Text, out toDate);
if (toDate < fromDate)
{
txtVendorPackDate.Text = "";
lblDateExpired.Visible = true;
lblDateExpired.Text = "Selected date is incorrect, please enter correct data.";
txtVendorFatPerc.Focus();
}
double expired = toDate.Subtract(fromDate).TotalDays;
if (expired >= 60)
{
lblDateExpired.Text = "Date Expired " + expired + " days after pack day!!!"
lblDateExpired.Visible = true;
}
}
如何从客户端执行此操作而不使用控件验证。
答案 0 :(得分:1)
试试这个
if (!parseResultMin || !parseResultMax || toDate < fromDate)
在您的代码中,如果两个日期都无效,则toDate
和fromDate
都将为DateTime.MinValue
,因此表达式toDate < fromDate
将不会为真。
答案 1 :(得分:0)
您可以使用CompareValidator控件检查供应商包日期是否小于收到的日期。如果两个字段都是必需的,您还可以使用RequiredFieldValidator。我会使用RequiredFieldValidators和CompareValidators的组合。
每个文本框都有一个RequiredFieldValidator,以确保用户输入值。 每个文本框都有一个CompareValidator,以确保输入的值是日期类型。 一个CompareValidator确保供应商包装日期早于收到的日期。