我有一个非常大的表单,有很多RequiredFieldValidator
,我如何以编程方式确定哪个控件将IsValid
属性设置为false
?
我有一个非常大的表单,有很多RequiredFieldValidator
,我如何以编程方式确定哪个控件将IsValid
属性设置为false
?
在服务器端,您可以查看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; });
您可以检查各个验证器的.IsValid
属性。
如果是RequiredFieldValidator
,那么如果控件无效,用户本来就不能回传。您想要做什么?
EnableClientScript="false"
,并且还有一堆以编程方式添加的内容。我有一个表单实例不是有效的,但没有指定错误,我正在尝试找出哪个验证器正在触发,以便我可以添加更明确的消息。 - travis
Page.Validators.Cast<IValidator>().Where(v => !v.IsValid)
看起来编译通过,谢谢! - travis