【问题标题】:How to execute a custom validator client function OnBlur or OnChange如何执行自定义验证器客户端函数 OnBlur 或 OnChange
【发布时间】:2011-09-22 17:33:56
【问题描述】:

我有一个分配给 TextBox 的标准 ASP.NET(WebForms,而不是 MVC)自定义验证器。我希望 TextBox 事件 OnBlur(或 OnChange)触发客户控件指定的客户端验证功能。早在 .Net 1.1 中,我可以调用“ValidatorHookupControl”将其连接到“OnLoad”,但这显然不再是基础架构的一部分,那么如何实现呢?

我猜这很明显,但到目前为止它没有让我知道,而且已经过去了太多小时……任何帮助表示赞赏。

注意:我希望保留在 .Net Validation 结构中,以便以与提交时触发的其他验证器相同的位置/格式(也称为验证摘要)报告“onBlur”验证错误。

【问题讨论】:

    标签: .net asp.net validation client-side customvalidator


    【解决方案1】:

    您不需要自定义验证器,即使是 CustomValidator.ClientValidationFunction

    如果您想使用 ASP.NET 验证基础结构,请从 BaseValidator 继承并使用 JavaScript(我建议使用 jQuery)订阅您需要的目标控件事件。并执行验证。


    或者您可以使用CustomValidator.ClientValidationFunction。从 CustomValidator 继承,在(可能)Control.PreInit() 上订阅验证器的函数到您需要的目标控件事件,并等待函数被调用。

    【讨论】:

    • 我在这里很模糊.. 不知道为什么我会创建一个自定义控件,但假设我做了(比如 MyControl),你将如何将目标控件的客户端事件连接到 MyControl 的客户端验证功能?
    • 哦,天哪...如此简单 - 不再需要“ValidatorOnHookup”,因为它是自动完成的...我没有意识到这一点,因为我的 ClientValidationFunction 没有触发。 似乎是因为 CustomValidator 标记包含 Visible="false" 属性。一旦删除,客户端功能就会执行。问题解决了。
    猜你喜欢
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多