2016-08-11 28 views
0

我試圖瞭解,如果我寫這種驗證爲什麼它不工作,並給我奇怪的結果,如果我以後輸入3而不是4,並移動到下一個領域它運行兩個div在窗體中的最小長度驗證不起作用

名稱是必需

應分鐘4長度

如果林打字4個laters並移動它顯示上應該是4長度

<div class="form-group"> 
    <lable for="secondName">Second Name</lable> 

    <input type="text" 
     ngControl='secondName' 
     #secondName='ngForm' 
     id="secondName" 
     class="for-control" required 
     minlength='4'> 

    <div *ngIf='secondName.touched'> 

    <div *ngIf='!secondName.valid'> 
     Second Name is required 
    </div> 

    <div *ngIf='!minlength'> 
     min length should be 4 
    </div> 
</div> 

回答

0

我不知道這是什麼原因造成的問題,但我相信class="for-control" required應該class="form-control" required

1
  • minlength='4'不會設置,你可以在HTML中使用的角度變量。我假設你要檢查的secondName的長度要大於3,在這種情況下,你可以寫*ngIf作爲

    <div *ngIf='secondName.length < 4'> 
        min length should be 4 
    </div> 
    
  • 使用[(ngModel)]綁定,而不是secondNamengControl

    <input type="text" [(ngModel)]="secondName" > 
    
+0

我只是想知道爲什麼會發生這種情況 – blackHawk

+0

@blackHawk是因爲'minlength'沒有設置任何地方,因此將在'ngIf'中計算爲false – nu11p01n73R