2015-06-06 61 views
1

我有這樣的代碼,我在那裏設置選項{allowInvalid: true}角ngModelOptions allowInvalid不工作

<input type="number" name="userName" 
     ng-model="user.name" 
     ng-model-options="{ allowInvalid: true }" 
     ng-blur="test(user)"/> 

當我輸入非數值到非數字,例如:abc
爲什麼user.name還是改爲undefined
其中我預計模型user.name應該是'abc'

全碼:http://plnkr.co/edit/BsLk2GWVkchNgKaOV453?p=preview 我使用的角度v1.3.16

+1

因爲你用'類型=「數字」'在這種情況下無效的輸入 - 值_undefined_ – Grundy

+1

繼https://docs.angularjs.org/api/ng/input/input%5Bnumber%5D,你不能在'type =「number」'屬性 – Kosta

+0

@grundy中使用'allowInvalid'。我使用'allowInvalid:true'。所以如果我輸入無效的值。它不應該改變價值undefined :( – GusDeCooL

回答

9

link,你不能type="number"屬性使用allowInvalid

問題與HTML5約束驗證

在下面the HTML5 specificationinput[number]ngModelOptions.allowInvalid預期不起作用的瀏覽器。如果在輸入中輸入非數字,瀏覽器會將該值作爲空字符串報告,這意味着ngModel中的視圖/模型值,隨後範圍值也將爲空字符串。