试着给你的下拉框加个RequiredFieldValidator,因为如果其下拉框的值是空的话,你的CustomValidator是不会被触发的

解决方案 »

  1.   

    同意思归老大~
    除了CustomValidator控件,你页面别的地方有没有做过修改~可能会影响到该控件
      

  2.   

    现在主要的是这个问题是什么原因造成的呢?
    微软的BUG?
      

  3.   

    后台生成的两个值进行比较
    其实完全可以不用CustomValidator
      

  4.   

    把你写的CustomValidator的验证编码贴出来,记住,当你改变选项后,你需要保存一个上次选择的项,然后你在你编码里与之相比如果你只要求用户选个非空的项,那么用RequiredFieldValidator就足够了,参考http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/validate/validator3.src
      

  5.   

    回复人: wangdequan1024(紫夜) ( ) 信誉:100  2004-10-28 11:33:00  得分: 0  
     
     
       同意思归老大~
    除了CustomValidator控件,你页面别的地方有没有做过修改~可能会影响到该控件
      
     我的页面是几天前做好的!现在只是运行整个项目测试而已!
    可是,该控件的验证就失效了!
    这个问题,我已经碰到过很多次了!
      

  6.   

    private void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
    {
    string time1 = this.getTime(this.BeginTime.Text,this.H1.SelectedValue,this.M1.SelectedValue); string time2 = this.getTime(this.EndTime.Text,this.H2.SelectedValue,this.M2.SelectedValue);

    if(getCount(time1,time2)<0)
    {
    args.IsValid = false;
    }
    }
      

  7.   

    不明白你的意思,或许是不是要加在条件if(!IsPostBack){}里面
      

  8.   

    weird, you never set it to true
    private void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
    {                           args.IsValid = true; string time1 = this.getTime(this.BeginTime.Text,this.H1.SelectedValue,this.M1.SelectedValue); string time2 = this.getTime(this.EndTime.Text,this.H2.SelectedValue,this.M2.SelectedValue);

    if(getCount(time1,time2)<0)
    {
    args.IsValid = false;
    }
                         
    }2. are you checking Page.IsValid? also, are you setting ErrorMessage to indicate validation failure?
      

  9.   

    如果,我把页面的CustomValidator控件删除后再田间一个新的的话,就没有问题!
    可以成功验证!
    真是很奇怪的一个问题!
      

  10.   

    如果,我把页面的CustomValidator控件删除后再添加一个新的的话,就没有问题!
    可以成功验证!
    真是很奇怪的一个问题!