2016-07-22 11 views
1

入力のライブサニタイズ/操作を実装する簡単な方法はありますか?ここで角2入力のサニタイズ

は非アルファベット文字を除去、例のユースケースである:

<input #fooControl="ngModel" 
     name="foo" 
     type="text" 
     [ngModel]="foo" 
     (ngModelChange)="foo = sanitize($event)" 
     pattern="[a-zA-Z]*" /> 

-

sanitize(val) { 
    return val.replace(/[^a-z]/ig, ''); 
} 

http://plnkr.co/edit/W80l2ph8sI8WvCpFkR7a?p=preview

このアプローチはほとんど動作しますが、新しい消毒モデルの値である場合以前の墨塗りされたモデル値と等しい場合、入力値自体は更新されず、非衛生的な文字が表示されます。

私はhttps://github.com/msafi/text-maskを試しましたが、値の変更はDOM操作で行われており、フォームの検証には対応していません。

これは一般的な要件のようですが、私はそれにはまだネイティブの指示がないことに驚いています。ご意見ありがとうございます!

答えて