2015-09-28 90 views
0

我試圖用這個directive ,它工作正常,在輸入型文本如何只在輸入類型'數字'中輸入一個數字(數字,小數點和負數)?

用法:

<input valid-number ng-model="mynumber" 
     allow-decimal="false" allow-negative="true" type="text" /> 

但是,當我嘗試使用類似下面,輸入

usgae型號:

<input valid-number ng-model="mynumber" 
     allow-decimal="false" allow-negative="true" type="number" /> 

它壞了。我使用手機的輸入類型號碼來打開數字鍵盤。

請給我一些建議。

謝謝。

+1

爲什麼你需要輸入[類型= 「數字」]的指令? AngularJS自己做了這種驗證。 [查看文檔以獲取更多信息](https://docs.angularjs.org/api/ng/input/input%5Bnumber%5D)。 –

+0

只限制一次短劃線/點,而不是顯示消息限制用戶多次輸入短劃線/點。 – Rajesh

回答

2

從你的插件

Angularjs-Directive-Accept-Positive-Negative-Decimal-Number-Only

當你改變從文本到號碼類型,錯誤應該拋出預計0是一些

默認值

您需要在插件中替換此行

if (text == '0' || text == null && attrs.allowDecimal == "false") return '0'; 

if (text == '0' || text == null && attrs.allowDecimal == "false") return 0; 

結果:

plunker

相關問題