我的项目中有此代码用于自定义验证,但我无法理解什么:(group: FormGroup) => ValidationResult
是这里的意思?
我了解:(group: FormGroup)
表示返回类型,但是=> ValidationResult
在这里是什么意思?
static comparePasswords(passwordKey: string, confirmPasswordKey: string): (group: FormGroup) => ValidationResult {
return (group: FormGroup): ValidationResult => {
const password = group.controls[passwordKey];
const confirmPassword = group.controls[confirmPasswordKey];
if (password.value !== confirmPassword.value) {
return { mismatchedPasswords: true };
}
};
}
答案 0 :(得分:4)
完整的返回类型为(group: FormGroup) => ValidationResult
。也就是说,返回类型是一个接受FormGroup
参数并返回ValidationResult
的函数。
这是正确的,因为您确实在返回一个接受FormGroup
并返回ValidationResult
的函数。内部函数的返回类型为ValidationResult
。
答案 1 :(得分:1)
我了解:(组:FormGroup)表示返回类型,但是=> ValidationResult在这里是什么意思?
不。返回类型为(group: FormGroup) => ValidationResult
这意味着comparePasswords
方法返回一个以FormGroup
作为参数并返回ValidationResult
的函数。即这是一个FormGroup验证器。
答案 2 :(得分:1)
您可以看到如下代码:
{functionName}( {params}[] ) : {returnType} {
{functionBody}
}
您的functionName为comparePasswords
的地方
您的参数是passwordKey: string, confirmPasswordKey: string
您的returnType为(group: FormGroup) => ValidationResult
您的函数返回的类型也是一个函数。
执行comparePasswords
时,您会得到一个函数。
如果执行此功能,并向其传递FormGroup
,则会得到一个ValidationResult
答案 3 :(得分:0)
在此块中,它返回一个函数,该函数接受类型为FormGroup
的参数并返回ValidationResult
通常,在自定义验证中,如果验证成功,我们通常返回null并返回由类型{[key:string]:string}
表示的键值对
此键用于错误收集中,可用于验证验证是否成功