CustomValidator用于验证多个控件

时间:2010-05-11 15:11:57

标签: c# .net customvalidator

有没有办法让自定义验证器从两个控件中获取输入,例如两个复选框,并确保只选中一个?

或者我是否认为这一切都是错的,更重要的是,如果我能帮你指出正确的方向吗?

即使这是错误的方向,我也想知道如何在遇到适用的情况下这样做,即如果可能的话。

先谢谢你的帮助。

5 个答案:

答案 0 :(得分:2)

如果您想确保只选中了两个复选框中的一个,则说明您使用了错误的控件。

使用单选按钮设置独占选择。

答案 1 :(得分:1)

我同意Mitchel的说法,RadioButton似乎更合适。

但您是否尝试连接CompareValidator并将其设置为验证UnEqual?

答案 2 :(得分:1)

AJAX Control Toolkit有一个独有的复选框列表。我同意它的需要,因为单选按钮不能取消选择单选按钮。

如果您正在寻找自定义验证器,听起来您要么在服务器端执行,此时您可以在后面的代码中执行您想要的任何逻辑。相反,您可以使用自己的javascript来强制执行它。

答案 3 :(得分:1)

我写了一篇关于这件事的博客文章。

http://coding.infoconex.com/post/2010/10/11/ASPNET-CustomValidator-that-validates-multiple-controls-using-both-Server-Side-and-Client-Side-scripting

结合客户端和服务器端验证并重新验证

答案 4 :(得分:1)

我也在研究类似的问题。我解决这个问题的方法是为每个控件创建一个验证器,并将它们链接到同样的方法,以确保您的验证限制。

protected void validator1_ServerValidate(...){
  myValidationMethod(...);
}

protected void validator2_ServerValidate(...){
  myValidationMethod(...);
}

它有效,但IMO非常丑陋