角度rc4リリースを使用して、required
、minlength
などのフォームコンポーネントに適用する検証ルールをいくつか適用する必要があります。バリデーターemailValidator
。私は内蔵の1とValidators.compose
関数に1つのカスタムバリデータを渡すと角度2エラー: 'AbstractControl'タイプに 'AbstractControl'タイプが割り当てられません
、IDEの(両方Webstorm & VSコード)私は以下のようなタイムエラーメッセージをコンパイルし表示します。ただし
、上記のスクリーンショットで、両方のバリデーターが組み込まれていると、エラーメッセージは表示されません。
私のカスタムバリデータの定義は以下の通りである:
static emailValidator(control: AbstractControl): {[key: string]: boolean} {
if (control.value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/)) {
return null;
} else {
return {'invalidEmailAddress': true };
}
}
はい、しました。実際には、私は 'AbstractControl'から継承した' FormControl'を使っていました。 –
@AJQarshiというのは、このエラーが奇妙な理由です。FormControlを最初に宣言します。 ' this.emailControl = new FormControl( ''、Validators.compose([Validator.required、ValidatorService.emailValidator])、ValidatorService.checkEmai( this._httpService)); ' 私はそれをFormGroup入力オブジェクトのキーに割り当てます – Yoanribeiro