1
是否有直接的方法來實施輸入的實時消毒/操作?Angular 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操作完成的,並且與表單驗證不兼容。
這似乎是一個常見的要求,我很驚訝,它還沒有原生指令。任何建議表示讚賞,謝謝!