【发布时间】:2017-04-25 18:31:58
【问题描述】:
我正在尝试验证“文本”类型的输入文本框,以仅允许数字或带有负数或小数的数字。 示例:100、002、-3.4、-6、8.5 目前的代码是没有验证“-”或“。”的代码。
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
selector: '[myValidate]'
})
export class HighlightDirective {
constructor(private el: ElementRef) { }
@Input('myValidate') highlightColor: string;
@HostListener('keyup', ['$event']) onKeyDown(event) {
let oldValue = event.target.value;
let keyPressed = event.key;
let keyCode = event.keyCode;
if (isNaN(oldValue.substr(oldValue.length - 1)) || keyCode === 32) {
this.el.nativeElement.value = oldValue.substr(0, oldValue.length - 1);
} else {
return null;
}
}
}
【问题讨论】:
标签: angular typescript angular-directive