區分

2016-12-01 34 views
0

我應該只接受數字的控制,我想給用戶一個提示,爲何控制標記爲紅色:區分

<label>Version</label> 
<input name="version" #version="ngModel" required type="number" pInputText [(ngModel)]="item.version"/> 
<small class="field-validation-error" [hidden]="version.valid"> 
    Not a number 
</small> 

的問題是,當控件中沒有值時顯示消息。這是無效的,但我想顯示'Value is required'消息。我已經試過:

<small class="field-validation-error" [hidden]="version.value"> 
     Value is required 
    </small> 

,但如果提供的值顯示事件以後,「需要值」的消息,但不是NUMER。

如何區分值不給,價值給定,但無效,使用ngModel綁定?

回答

1

什麼:

<label>Version</label> 
<input name="version" #version="ngModel" pattern="[0-9]*" required type="number" pInputText [(ngModel)]="item.version"/> 

<small class="field-validation-error" *ngIf="version.control.dirty && version.control.hasError('required')"> 
    Value is required 
</small> 

<small class="field-validation-error" *ngIf="version.control.dirty && version.control.hasError('pattern')"> 
    Not a number 
</small> 
+0

我得到一個錯誤」的價值'即使值存在,但不是數字 –

+0

但是,如果您有'input type =「number」',您不能輸入數字以外的其他數字,否?否則,您可以繼續使用'pattern'屬性 – soywod

+0

使用hasError('pattern'),它可以工作。用hasError('數字'),不是。經過Chrome測試。 –

0

我只是用

<small class="field-validation-error" [hidden]="item.version.value"> 
     Value is required 
    </small> 

去只是檢查的真正價值,而不是輸入元素的值需要

+0

問題是,當該值無效時,未設置該值,並且顯示「值爲必需」而非「不是數字」 –

+0

如果值尚未設置,則應顯示「值是必需的「否? –

+0

但值鍵入... –