2016-04-21 16 views
1

我正在使用Angular 2,並且在表單驗證中我正面臨一個相當基本的問題。在第一次keydown事件後,所需的數字文本字段被標記爲有效,無論我輸入的值如何,我都無法猜測原因。在keypress上標記爲ng-valid的必填字段,即使它爲空

這裏的控制(我用玉模板):

input.form-control(required, type='number', [(ngModel)]='details.averageAnnualVisitorCount', placeholder='Example: 5000000') 

首先,控制標記NG-質樸和NG-無效的,因爲預期:

<input class="form-control ng-untouched ng-pristine ng-invalid" placeholder="Example: 5000000" required="required" type="number"> 

但是,當我專注在現場並按任意鍵(即使是無效的鍵),控件標記爲有效,我不知道爲什麼。舉例來說,我想這是因爲使用type='number'的拒絕Z,但如下圖所示的領域仍然標記ng-valid

<input class="form-control ng-dirty ng-valid ng-touched" placeholder="Example: 5000000" required="required" type="number"> 

應該不是這個被NG-ditry NG-無效和NG-感動呢?我也嘗試添加ngControl,認爲我錯過了一些與ngControl類相關的行爲,但是這並沒有改變行爲。

回答

0

我來就遇到了這個問題,當嘗試着色我的論壇顯示驗證。我用ng-pattern來修復它。也許試試?我知道有一個簡單的reg表達式可以用來檢測數字。 Check out here用於reg表達式的幫助。

相關問題