【问题标题】:ValidationSummary with Client Side & Server Side Validation带有客户端和服务器端验证的 ValidationSummary
【发布时间】:2009-08-25 20:53:06
【问题描述】:

如果您在 aspx 页面中使用 CustomValidator 控件和 ValidationSummary 控件进行服务器端验证,您可以设置验证器的 ErrorMessage,其 Text 值将显示在适当位置,ErrorMessage 值将显示在 ValidationSummary 控件中。

不错。

现在,如果我也在 javascript 中在客户端执行验证,是否可以执行与服务器端代码触发相同类型的验证消息显示?这样 ValidationSummary 将显示其通常的 HeaderText 以及您的附加 ErrorMessage 并且 CustomValidator 将显示其 Text 值(例如 *)

我可能会为客户端和服务器端伪造它,但如果可能的话,最好使用现有的控件。

提前感谢您的任何想法或建议

【问题讨论】:

    标签: c# .net javascript customvalidator validationsummary


    【解决方案1】:

    当您将 EnableClientScript 设置为 true 时,您可以使验证器本身在客户端运行。然后可以将 ClientValidationFunction 设置为您编写的用于验证控件的 javascript 函数的名称。 CustomValidator 控件的其余行为将与 ValidationSummary 相关联,就像任何其他验证器一样,包括将 ErrorMessage 放在标头中等等。

    【讨论】:

    • 这很好用,但是无论如何它都需要回发(异步或其他)才能通过javascript事件发生这种情况?例如,如果您想验证文本框 onblur?
    • 如果 EnableClientScript 为 true,则没有回发。这是带有示例的 MSDN:msdn.microsoft.com/en-us/library/f5db6z8k(VS.71).aspx 您也可以同时执行(客户端和服务器端),如示例所示。我也相信当被验证的文本框失去焦点(onblur)时,默认情况下会发生验证。
    • 非常正确,我没有设置 ControlToValidate。非常感谢!
    • 一个小问题。如果我单击具有 Causevalidation=true 的按钮,客户端验证工作完全正确,但文本框的 onblur 显示 * 旁边的验证器但错误消息未显示在验证摘要中......有什么想法吗?
    【解决方案2】:

    我尝试在运行时获取摘要的 DOM 对象,但除非您有一个非常简单的页面,否则 i.r.没有像面板等 AJAX 控件,你运气不好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2023-04-08
      • 1970-01-01
      • 2010-11-20
      相关资源
      最近更新 更多