Validation Angular 2-自定义验证程序语法
请有人给我解释一下以下类型脚本语法:Validation Angular 2-自定义验证程序语法,validation,angular,typescript,Validation,Angular,Typescript,请有人给我解释一下以下类型脚本语法: {[s: string]: boolean} 这是Angular 2中的验证器fn的返回类型。特别是,数组:[s:string]表示什么 编写自己的自定义验证器fn函数时,布尔字段的用途是什么?以下几点似乎没有区别: startsWithZero(control: FormControl): {[s: string]: boolean} { if (control.value.indexOf('0') !== 0) { return
{[s: string]: boolean}
这是Angular 2中的验证器fn
的返回类型。特别是,数组:[s:string]
表示什么
编写自己的自定义验证器fn
函数时,布尔字段的用途是什么?以下几点似乎没有区别:
startsWithZero(control: FormControl): {[s: string]: boolean} {
if (control.value.indexOf('0') !== 0) {
return {'does not start with zero': true};
}
return null;
}
vs.
startsWithZero(control: FormControl): {[s: string]: boolean} {
if (control.value.indexOf('0') !== 0) {
return {'does not start with zero': false};
}
return null;
}
Angular文档在这方面有点抽象,在Google上找不到太多。谢谢 我认为这是对字符串变量求值并将该变量指定为布尔类型;比如[s:string]=“myVar”。在这个例子中,类型注释
{[s:string]:Boolean}
意味着一个字典,其中键是字符串,值是布尔值
这些类型被称为。这是描述字典的典型方式(又称哈希映射)
在Angular 2中,验证器fn
的类型为:
export interface ValidatorFn {
(c: AbstractControl): {
[key: string]: any;
};
}
…一个函数,它接受一个AbstractControl
并返回一个字典-该键标识验证规则,例如maxLength
,该值可以是解释规则失败原因的任何值,例如{'requiredLength':maxLength,'actualLength':v.length}
。它不必是布尔值
来自Angular 2震源的示例如下