Angular 6自定义验证返回类型
我的项目中有此代码用于自定义验证,但我无法理解:Angular 6自定义验证返回类型,angular,typescript,angular6,Angular,Typescript,Angular6,我的项目中有此代码用于自定义验证,但我无法理解:(组:FormGroup)=>ValidationResult在这里的意思是什么 static comparePasswords(passwordKey: string, confirmPasswordKey: string): (group: FormGroup) => ValidationResult { return (group: FormGroup): ValidationResult => { const
(组: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 };
}
};
}
我理解:(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 };
}
};
}
在此块中,它返回一个函数,该函数接受
FormGroup
类型的参数,并返回ValidationResult
通常,在自定义验证中,如果验证成功,我们通常会返回null,并返回由type{[key:string]:string}
此键用于错误集合,可用于验证验证是否失败或成功完整返回类型为
(组:FormGroup)=>ValidationResult
。也就是说,返回类型是一个函数,它接受FormGroup
参数并返回ValidationResult
这是正确的,因为您确实返回了一个函数,该函数接受FormGroup
并返回ValidationResult
。内部函数的返回类型为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 };
}
};
}
否。返回类型为(组:FormGroup)=>ValidationResult
这意味着
comparePasswords
方法返回一个函数,该函数将FormGroup
作为参数,并返回一个ValidationResult
。也就是说,它是一个FormGroup验证器。您可以看到如下代码:
{functionName}( {params}[] ) : {returnType} {
{functionBody}
}
其中,函数名为comparePasswords
您的参数是
passwordKey:string,confirmPasswordKey:string
您的返回类型是
(组:FormGroup)=>ValidationResult
函数返回的类型也是一个函数 执行
comparePasswords
时,返回一个函数
如果执行此函数,并向其传递一个FormGroup
,将得到一个ValidationResult