Validators.nullValidator(control:AbstractControl)有什么意义?

Fri*_*iso 4 validation angular

我正在Angular中进行表单验证,并且在阅读API时遇到了nullValidator。它说它是一个“验证程序,不执行任何操作。”在我看来,它是一个验证程序,实际上不执行任何操作。当我在github上检查代码时,这是正确的。它只是返回null。

所以我的问题是,为什么nullValidator存在?它有什么作用?

Lud*_*vik 7

我想到一个用例。假设您有应该返回的函数ValidatorFn。在某些情况下,您可能会返回不做任何事情的验证器是合理的。例如:

getValidator(): ValidatorFn {
    if(someCondition) {
        return realValidator;
    }
    return Validators.nullValidator;
}
Run Code Online (Sandbox Code Playgroud)

它还代表了空对象模式,该模式可防止代码中出现空指针/空警卫,因为即使不执行任何操作,您也始终可以拥有一些验证器。