在Asp.Net中,我如何确定哪个验证器控件将Page.IsValid设置为false?

时间:2012-07-27 22:00:15

标签: asp.net validation postback

我有一个包含许多RequiredFieldValidator的庞大表单,如何以编程方式确定哪个控件正在设置IsValidPage的{​​{1}}属性?

2 个答案:

答案 0 :(得分:10)

在服务器端,您可以查看Validators属性以查找所有IValidator个实例。然后,您只需测试哪一个不是.IsValid

var notValidValidators = Page.Validators.Cast<IValidator>().Where(v => !v.IsValid);

在客户端,它是类似的。有一个JavaScript数组Page_Validators,每个数组都有一个isvalid属性。

var notValidValidators = Page_Validators.filter(function(v) { return !v.isvalid; });

答案 1 :(得分:2)

您可以查看各个验证器的.IsValid属性。

如果它是RequiredFieldValidator,则无论如何控件无效,用户都无法回发。你想做什么?