【问题标题】:Asp.net Custom ValidatorAsp.net 自定义验证器
【发布时间】:2012-03-10 05:26:34
【问题描述】:

我正在使用jqueryAsp.net custom validatorrequired field validator 执行clientside validationserver side validation。我正在做的是在输入错误的 tetxbox 旁边显示一个“X”。这是有效的很好,我的问题是当一个文本框输入错误时它显示'X'作为jquery validation函数触发它,同时当他提交数据时,自定义验证器也显示一个'X',所以两个'X''X ' 是这样显示的,这种看起来很奇怪。那么我该怎么做才能正确显示它,我应该从custom validator 中删除文本并且只在validation summary 上显示error message。任何建议将不胜感激。 谢谢

【问题讨论】:

    标签: jquery asp.net customvalidator


    【解决方案1】:

    在我看来,请继续使用两者,但不要在 jQuery 验证中显示“X”。 Custom Validator 中的 Text 属性在任何情况下都会在提交时看到,并且该验证器上的 ErrorMessage 属性将出现在摘要中。我也有同样的情况,效果很好。

    希望对你有所帮助。

    【讨论】:

    • 谢谢,如果您建议不要在 jquery 上显示“X”,那么有什么替代方法,任何想法
    • 不客气。另一种方法是在提交信息时在自定义验证器中显示您的“X”。因此,为了清楚起见,当您想要验证其他默认验证器无法执行的情况时,存在自定义验证器。
    • 再次嗨,如果你仍然想使用 jQuery 并用它来展示一些东西,你可以例如触发一个警告框或将错误输入字段的背景颜色设置为红色。
    • ,,, 甚至我都在想类似的事情,但问题是目前我将标签显示为“X”,并且在悬停该“X”时它会显示标签的标题作为工具提示..所以我想知道如果我删除标签我可能会失去该功能。
    • @Krystan Honour:嗯,JQuery 实际上与 asp.net 集成。您可以在 asp.net 4.0 上查看一些最新书籍。此外,asp.net 的 Microsoft 认证需要 JQuery 知识。因此,如果 Microsoft 完全可以接受它,它不应该打扰您。
    【解决方案2】:

    CustomValidator 控件有一个名为ClientValidationFunction 的属性。这允许您调用只有一项工作的 javascript 方法 - 将 IsValid 属性(args 参数的)设置为 true 或 false。自定义验证器将为您处理错误消息。您不需要任何 jquery 来显示和隐藏错误。它应该可以工作。为此,Asp.net 在页面上放置了一些 javascript,因此您不必这样做。

    注意:如果您有第二个 RequireFieldValidator(或任何其他验证器)用于相同的输入,请注意您应该设置 Display="Dynamic" 属性,这将确保验证器在它不被占用时不会占用屏幕空间显示(这会导致您的其他验证器消息被推出位置)。

    有关自定义验证器ClientValidationFunction 属性的更多详细信息,请参阅this page

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      相关资源
      最近更新 更多