代码之家  ›  专栏  ›  技术社区  ›  Sergej Andrejev

正在创建自定义ASP.NET验证程序

  •  0
  • Sergej Andrejev  · 技术社区  · 15 年前

    我创建了一个自定义控件和一个自定义验证器(扩展basevalidator)。在自定义控件上,我设置了validationproperty(“values”)。问题是,如果不执行page.validate(),则在发送回发时验证将不起作用。当我调用page.validate()时,所有的验证器都会执行,而不是我在回发时所期望的那样。

    所以问题是,当控件值更改并仅验证该控件时,如何创建自定义验证器wich?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Bryan    15 年前

    验证程序不是这样工作的。除非使用validationgroup设置,否则页面上的所有验证程序都将自动启动。您不必显式调用page.validate()。但是,您需要像这样将代码包装在一个检查中:

    if(Page.IsValid)
    {
        //do something here
    }
    

    与客户端验证程序不同,服务器端验证不会阻止页面按正常方式回发和处理事件。

    创建一个控件,该控件只在控件值更改时进行验证,因为更改事件在验证程序执行后触发。

        2
  •  0
  •   Jim B    15 年前

    是否尝试使用验证组?