2010-10-09 103 views
2

嗨 我需要在Asp.net的形式,这里的要求是一样需要它们中的任何一个来验证两个字段。例如,有页标题和子标题输入框,因此它们中的任何一个都是必需的。我可以使用Asp.Net提供的验证控件吗?Asp.Net所需的字段验证

任何形式的帮助,非常感谢。提前致谢。

回答

2

您可以使用ASP.NET一个CustomValidator control (MSDN)对于那些没有通过其它标准验证的任何一个支持的特殊情况。它是为此创建的。

Microsoft介绍了如何创建custom validation function here
这里是another tutorial实施它。

或者如果谷歌像关键字“creating a custom validator in asp.net”你可以挑选并从自己的项目不同的解决方案选择。

+0

从自定义验证器中,您可以使用您需要的任何逻辑来检查两个输入字段。在这种情况下,自定义验证器的.ControlToValidate属性变得有些不相关。 – 2010-10-09 07:57:10

1

对于你的情况,以替代使用的CustomValidator,你可以明确地改变您是否需要现场验证通过使用ValidatorEnable()JavaScript函数启用。

// disable validation control 
ValidatorEnable(RequiredFieldValidator1, false); 

然后可以编写自定义逻辑在JavaScript来确定,其中每个验证控制则启用或禁用的情况下,和把它绑的文本框的(客户端)的事件中的一个(的onblur, onchangeup,onkeyup等)。

然后,在服务器端,你可以写类似的逻辑,通过设置“已启用”属性做同样的事情,并把这个逻辑在您的按钮单击事件,你检查的IsValid状态之前。

如果你正在做的是有条件确定需要的东西时,更改启用状态是你最好的选择。具体做什么记录在ASP.NET Validation In Depth

+0

如果您正在为服务器端和客户端创建自定义逻辑,那么您正在有效地完成自定义验证器控件所需的工作。为什么通过在自定义验证器之外工作来与ASP.NET验证系统进行侧步整合?我质疑利益。 – 2010-10-09 17:47:58