我有一個輸入文本字段。 <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