我有两个文本框,分别为to_date和from_date。并且我比较两个文本框并获取值,但是它执行到我要停止的按钮的onclick旁边,因为如果to_date小于from日期,则to date为null,并且专注于该文本框不会转到click事件按钮。
我用 :
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,则停止在Custom Validator中执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11220312/