我有一个输入文本字段。 <input type="text" [ngModel]="textvalue | currencyinrhello" (ngModelChange)="onTextChange($event)" (keypress)="restrictNumeric($event)" />
我想限制输入值从15,000到5,00,000。我不希望用户输入上面的数字。如何限制输入文本在angular2中的数字范围?
0
A
回答
1
您可以使用原生HTML5。这里不需要任何角度2的代码。仅用于表单验证。如果用户输入的数字不在范围内,或者输入任何无效字符,表单将会失效。
<input type="number" name="quantity" min="15000" max="5000000">
1
在angular2方式,可以使用指令。
@Directive({
selector: '[restrict]',
})
export class InputRestricter{
@Input('restrict_minvalue') minValue: number;
constructor(private el: ElementRef,private renderer: Renderer) {
}
@HostListener('keyup',['$event']) onKeyUp(event){
if(this.minValue){
let el = <HTMLSelectElement> event.target;
if ($(el).val() <= this.minValue) {
el.setCustomValidity('Value is invalid');
} else {
el.setCustomValidity('');
}
}
}
,然后使用该指令在模板
<input restrict [restrict_minvalue]="15000"/>
该指令将让您的输入无效,如果输入的值小于15000,您可以实现同样的方式最大价值的能力。
+0
即使您尝试在运行时将数字放在上面,我也希望数据自动更改为500000。抱歉没有完成问题。 –
+0
@VishalNair然后,您可以简单地设置值$(el).val(“15000”),而不是将其设置为无效。在该指令中您有输入元素,您可以根据需要进行管理。 – omeralper
0
尝试这样的事情,我已经使用keyup事件
import {Component, Input} from 'angular2/core';
@Component({
selector: 'app',
template: `
<label>Enter the Amount:</label>
<input type="text" #textbox [(ngModel)]="textvalue" (keyup)="restrictNumeric($event, textbox.value, 15000, 500000)" />
`
})
export class App {
string: textvalue;
restrictNumeric(event, value, min, max)
{
if(parseInt(value) < min || isNaN(parseInt(value)))
console.log("invalid min value");
else if(parseInt(value) > max || isNaN(parseInt(value))
this.textvalue = 500000;
}
}
相关问题
- 1. 如何限制范围的文本
- 2. 文本框输入数字范围
- 3. 输入栏的限制范围
- 4. 带范围限制的仅数字输入框
- 5. 如何限制用户输入具体的数字范围,如(300-470)
- 6. 如何限制在字母数字文本框中输入9位数字
- 7. 如何限制F#中模块的导入到本地范围?
- 8. 如何在输入的数字范围中查找素数
- 9. 文件中的字节输入范围
- 10. 以redux形式,如何限制输入值的范围?
- 11. 文本字段在界面生成器中的输入范围
- 12. 将文本框输入限制在C#中的数字#
- 13. 如何限制文本输入中的输入号码
- 14. 输入文字的字符数限制
- 15. 如何限制在MFC中输入文本框中的字符数?
- 16. 如何在文本输入框中添加文本限制
- 17. SQL加入限制范围
- 18. 如何限制输入掩码范围与十六进制字符
- 19. 将文本框限制为VB中的一个字符范围
- 20. 如何限制OAuth'scope'参数的允许权限(限制范围)
- 21. 如何限制输入的字符数
- 22. 如何限制文本输入和字符数?
- 23. 如何限制文本域只能输入数字
- 24. 限制编辑文本中的范围之间的文本
- 25. Java-如何限制输入号码范围是Document Filter?
- 26. 只允许范围内的数字输入到文本框
- 27. 如何在文本输入域中限制1以下的数字
- 28. 仅在文本框中将输入限制为数字? (c#)
- 29. 限制按范围在XSLT输出
- 30. 如何限制范围参数
任何理由使用按键事件? – MMK