ユーザーが正しいメールアドレスを入力したことを確認するために、基本的なメール検証を追加することを検討しています。現在、以下の方法を使用すると、ユーザーが入力すると検証が更新されますが、1 文字を入力した後にエラーが発生すると奇妙に見えます。
validEmail(c: Control){
if(!c.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 {
validEmail: true
};
}
return null;
}
ctrlEmailAddress: Control = new Control('', Validators.compose([
Validators.required, this.validEmail]));
angularJSのように、フィールドのぼかしで検証をトリガーできるかどうか疑問に思っていました:
ng-model-options="{ updateOn: 'blur' }"
HTML 内の入力フィールドのぼかしオプションは認識していますが、コントロールをエラー状態にする方法がない限り、これによってコントロールがエラーになることはありません。
誰かが私を正しい方向に向けるのを手伝ってくれますか?
ありがとう。
編集: angularJS ソリューションではなく、angular2 ソリューションを探しています。