因此,我继承了一些旧的,不好的代码,我试图将其从VB转换为C#并使其sn之以鼻(或者至少使它变得不太可笑)。

我到处都找到了这样的代码:

rfvReasons.Validate();

if rfvReasons.isValid)
{
    // do something
}


每次要使用isValid时都需要这些Validate调用吗?对象的onChange事件是否会导致验证程序更新?

谢谢

最佳答案

通常,在检查.Validate();属性之前,不需要在验证程序上调用isValid。当他们将页面回发到服务器时,将执行验证,因此,当您运行服务器端代码时,isValid应该是最新的。

请参见BaseValidator类(从其派生RequiredFieldValidator):


  ASP.NET提供了许多控件,这些控件能够回发到
  服务器。当这些控件之一具有其CausesValidation时
  属性设置为true,则在控件发布时执行验证
  回到服务器。

关于c# - 必填字段验证器是否需要Validate调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15069711/

10-17 01:18