我正在使用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類相關的行爲,但是這並沒有改變行爲。