c# - 如果为 false,则停止在自定义验证器中执行

标签 c# asp.net

我有两个文本框,分别是 to_date 和 from_date。我比较两个文本框并获取值,但它的执行紧接着我想要停止的按钮的单击,因为如果 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 = "";
        }

最佳答案

如果您的 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 方法。

关于c# - 如果为 false,则停止在自定义验证器中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220312/

相关文章:

c# - 正确的结果包装在 dataGridView 中

Javascript:使用 ActiveXobject 保存文件

c# - 使用 log4net,您是否指定要使用哪个附加程序?

c# - 使用 C# 规范化 CSS 选择器的大小写

c# - 如何在运行时定义 C# 对象?

c# - VS2012 : Database reference

asp.net - 在 ASP.NET 4.0 中绘制折线图

c# - 调用者未通过服务的身份验证——在站点中使用主机名并在本地调用时

asp.net - ImageResizer AzureReader2 插件 - 对调整大小请求的 404 响应

c# - 将 char 数据类型转换为 datetime 数据类型导致日期时间值超出范围错误