限制用户在`input`字段

时间:2017-05-03 09:57:22

标签: angular

如何阻止用户输入#'#'字符到input字段?

我正在努力实现它。

1 个答案:

答案 0 :(得分:6)

一种方法是制作一个过滤事物的指令,因此没有任何东西会进入应用程序的模型绑定部分,因为它们无法输入任何东西..下面是你的案例的示例指令

import {Directive, ElementRef, HostListener} from '@angular/core';

@Directive({
    selector: '[inputFilter]'
})
export class inputFilterDirective {



    constructor(private el: ElementRef) {
    }


    @HostListener('keydown', ['$event']) onKeyDown(event) {
        let e = <KeyboardEvent> event;

        if (e.keyCode == 35) {
           e.preventDefault();
        } else {
           return;
        }

    }
}

我只为数字做过,所以用户除了数字之外无法输入任何其他内容,但我将其修改为hashtag =&gt; hashtag的keyCode为35。

您可以使用此<input inputFilter [(ngModel)]="whatever"/>

这样的指令
相关问题