代码之家  ›  专栏  ›  技术社区  ›  Andrey

ASP.NET验证程序控件验证时的客户端事件处理程序

  •  1
  • Andrey  · 技术社区  · 16 年前

    我有一个ASP.NET表单,其中包含许多可以展开/折叠的部分,并且通常是折叠的。现在,表单上的大多数控件都要求附加FieldValidator或其他一些验证器。如果用户试图提交未填写必需字段的表单,则不会提交m,但由于大多数节通常是折叠的,因此用户看不到验证程序文本(如文本框右侧的感叹号)提示修复错误。 我要做的是,对于验证失败的控件,扩展它们的父容器,以便用户可以看到那些失败的控件,但为此,我需要挂接一些客户端验证失败时woudl执行的客户端sode javascript。我没有发现任何做这件事的方法——验证器自然不会将那些“验证事件”暴露给连接。当然,我可以创建我的自定义验证器,但这意味着完全重写(和复制功能)所有现有的ASP.NET验证器,这听起来是很大的工作。

    有什么想法吗?

    提前谢谢! 安德烈

    1 回复  |  直到 16 年前
        1
  •  1
  •   Daniel    16 年前

    以下是我如何解决类似问题的方法。对于每个添加到手风琴的验证器,我将验证器ID和它所包含的手风琴面板一起存储在一个数组中。然后我将这个列表传递给客户。我还通过调用page.clientscript.registeronSubmitStatement来钩住onSubmit事件。在onsubmit期间执行的javascript函数首先检查页面是否有效,如果有效,则只会退出;如果不有效,则会循环通过验证器列表查找无效的验证器;当找到验证器时,它会展开与该验证器关联的部分。