Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 6自定义验证返回类型_Angular_Typescript_Angular6 - Fatal编程技术网

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