2017-02-09 62 views
0

考慮下面的代碼:角2標籤驗證沒有阻止提交

<form #theForm="ngForm" novalidate> 
<div *ngIf="pickUpAddress.cannotVerify"> 
    <div class="form-group"> 
     <sh-manual-address [(ngModel)]="pickUpAddress" #manualAddress="ngModel" [address]="pickUpAddress" name="manualAddress"></sh-manual-address> 
    </div> 
</div> 
</form> 
<div> 
    <button type="button" [disabled]="!theForm.control?.valid " (click)="navigateToConfirmation()">Continue</button> 
</div> 

而定製的部分:

<ng-form name="manualAddress"> 
<div> 
<div class="label"> 
     Postcode 
    </div> 
    <div class="input"> 
     <input ngControl="pickUpAddress.postcode" #postalcode="ngModel" [(ngModel)]="address.postcode" name="postcode" placeholder="Postcode" 
     required/> 
     <div *ngIf="postalcode.errors" class="input-error">Postcode is mandatory</div> 
    </div> 
    </div> 
</ng-form> 

的繼續按鈕變得啓用的問題,即使郵政編碼沒有填寫。根據我的理解,它應該工作,但不是。當然,表單中還有其他元素 - 那些阻止按鈕。我錯過了什麼?

在其他的世界:我怎樣才能讓這兩個組件互相交談?

回答

0

終於想通了,這是怎麼回事,這是一個很大的幫助:

<div [formGroup]="adressForm"> 
    <div class="form-group col-xs-6"> 
     <label>street</label> 
     <input type="text" class="form-control" formControlName="street"> 
     <small [hidden]="adressForm.controls.street.valid" class="text-danger"> 
      Street is required 
     </small> 
    </div> 
    <div class="form-group col-xs-6"> 
     <label>postcode</label> 
     <input type="text" class="form-control" formControlName="postcode"> 
    </div> 
</div> 

http://plnkr.co/edit/clTbNP7MHBbBbrUp20vr?p=preview

點注意:無功,FormGroup,Validtor和FromBuilder。