如果为false,则在Custom validator中停止执行

时间:2012-06-27 06:05:26

标签: c# asp.net

我有两个文本框,分别是to_date和from_date。我比较两个文本框和获取值,但它执行旁边的onclick按钮,我想停止,因为如果to_date小于从日期,到日期变为空,以及专注于该文本框不会转到点击事件按钮。

我用:

 try
        {
            DateTime from = DateTime.ParseExact(txt_from_date.Text, "M/d/yyyy", theCultureInfo);
            DateTime to = DateTime.ParseExact(txt_to_date.Text, "M/d/yyyy", theCultureInfo);
            int result = DateTime.Compare(to, from);
            e.IsValid = result>0;
            if (e.IsValid == false)
            {
                txt_to_date.Text = "";
                txt_to_date.Focus();
            }
        }
        catch (Exception eq)
        {
            e.IsValid = false;
            txt_to_date.Text = "";
        }

1 个答案:

答案 0 :(得分:2)

如果你的onclick事件处理程序,你必须调用验证:

protected void YourButton_OnClick(object sender, EventArgs e)
{
    Page.Validate();
    if(Page.IsValid) // Will be false if any validator is invalid
    {
         // your code here
    }
}

请注意,如果必须将表单拆分为多个子部分,则可以在验证控件上设置ValidationGroup并将相同的值传递给Page.Validate方法。