当我在验证FormControlObject时尝试返回null时,浏览器说它无法读取[FormControlObject] .errors.errorProperty的属性,因为它为null。我在这里错过了什么吗?如果我返回{errorProperty:false}则一切正常。
代码:
static passwordsShouldMatch(control: AbstractControl): ValidationErrors | null {
let newPassword = control.get('password');
let repeatedPassword = control.get('repeatedPassword');
if (newPassword.value !== repeatedPassword.value) {
return { passwordsShouldMatch: true };
}
return null;
}
解决方案:
static passwordsShouldMatch(control: AbstractControl): ValidationErrors | null {
let newPassword = control.get('password');
let repeatedPassword = control.get('repeatedPassword');
if (newPassword.value !== repeatedPassword.value) {
return { passwordsShouldMatch: true };
}
return {passwordsShouldMatch: false};
}
我已经注释了这个问题的解决方案,但是根据文档,您应该能够毫无问题地返回null。这个问题可能与此thread重复,但由于9个月前就提出过这个问题并且也没有解决这个潜在的问题,我认为可以再问一次。