0

一个有 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;
    }  
} 

我如何从客户端不使用控件验证来做到这一点。

4

2 回答 2

1

尝试这个

if (!parseResultMin || !parseResultMax || toDate < fromDate)

在您的代码中,如果两个日期都无效,toDate并且fromDate都将是DateTime.MinValue,那么表达式toDate < fromDate将不正确。

于 2012-06-15T20:02:01.360 回答
0

您可以使用 CompareValidator 控件检查供应商包装日期是否小于接收日期。如果两个字段都需要,您还可以使用RequiredFieldValidator。我会结合使用RequiredFieldValidators 和CompareValidators。

每个文本框都有一个RequiredFieldValidator,以确保用户输入一个值。每个文本框都有一个 CompareValidator,以确保输入的值是日期类型。一个 CompareValidator 以确保供应商包装日期早于接收日期。

于 2012-06-15T19:57:33.810 回答