【问题标题】:Asp.Net C# invoke single validatorAsp.Net C# 调用单个验证器
【发布时间】:2011-09-16 08:25:05
【问题描述】:

我在尝试单独调用一个验证器时遇到问题,我知道如何调用所有验证器以使用 Page.Validate() 对按钮单击事件执行检查,但我如何调用 mySingledOutValidator 我试过了mySingledOutValidator.Validate() 但这行不通,个别控件没有.validate()

我需要满足以下条件:

  • 进行一次验证
  • 在 C# Asp.Net 中
  • .net 2.0 框架

如果上述方法不可行,我不介意研究 javascript 替代方案。
如果您能提供帮助,将不胜感激。

【问题讨论】:

  • .net 2.5 框架还是 .net 3.5 框架?

标签: c# .net asp.net validation


【解决方案1】:

您可以使用Group Validation。您可以为验证器分配一个 validationgroup 值,然后显式验证该组,该组可以包含 1 个或多个验证器。

Page.Validate("MyGroup");

您还可以使用IsValid 属性显式检查每个验证器的验证状态,假设验证已经发生。

【讨论】:

  • 我可以ValidationGroup="Group1 Group2" 吗?
  • 不,你不能那样做。验证者只能属于一个组。你可以让它工作,但我认为最好避免这种情况。如有必要,您始终可以为每个组设置一个验证器(尽管并不理想)。解决服务器端的问题比较容易,只需多次调用 Validate 即可。
【解决方案2】:

根据this article

function ValidatorValidate(val, validationGroup, event)

使用 jquery 验证器:

如果我想强制验证,我应该写:
ValidatorValidate($("#<%= valEncOtherMimeTypeRequired.ClientID %>")[0]);

【讨论】:

  • 这是 .NET 在设置 validationgroup 属性并按下具有匹配 validationgroup 的按钮/提交时用于客户端验证的方法。应该没有必要直接调用它。
  • @TheCodeKing OP 正在询问单个验证器检查的 javascript 替代方案。就是这样。
  • 并不是否定的,只是强调ValidatorValidate 被组验证实现默认使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多