2017-06-23 69 views
0

我使用primeng dropdown..and使用反應形式validation..Everything工作正常,但途中錯誤信息顯示不正確 enter image description here定製下拉驗證顯示問題,Angular2

驗證消息顯示了在頁面加載。因爲我寫了下面的code.any關於我的代碼的建議?或其他更好的方式來做到這一點。

<input type="password" class="form-control" name="ClientUserPassword" placeholder="Enter Password" 
                  [(ngModel)]="objClientUserDetails.ClientUserPassword" 
                  [ngClass]="{'error':!formClientUser.controls['ClientUserPassword'].valid && (formClientUser.controls['ClientUserPassword'].dirty 
                  ||formClientUser.controls['ClientUserPassword'].touched) 
                  || (objClientUserDetails.ClientUserPassword == '' || 
                  objClientUserDetails.ClientUserPassword == undefined)}" 
                  [formControl]="formClientUser.controls['ClientUserPassword']" /> 

                <div *ngIf="objClientUserDetails.ClientUserPassword == '' || (formClientUser.controls['ClientUserPassword'].hasError('required') && 
                   formClientUser.controls['ClientUserPassword'].touched)" class="alert alert-danger"> 
                 Please Enter Password 
                </div> 

<p-dropdown [options]="listOfClientUserRoles" 
                   [filter]="true" 
                   placeholder="Select Role" 
                   formControlName="cboClientUserRole" 
                   [(ngModel)]="objClientUserDetails.StrClientUserRoleId" 
                   (onChange)="OnRoleChangeChange($event)"></p-dropdown> 

                <div *ngIf="objClientUserDetails.StrClientUserRoleId=='0'|| ((formClientUser.controls['cboClientUserRole'].hasError('required')) &&(formClientUser.controls['cboClientUserRole'].touched))" 
                 class="alert alert-danger">Please select Role</div> 
+0

加載時可能是「StrClientUserRoleId === 0」? –

回答

0

變化

<div *ngIf="objClientUserDetails.StrClientUserRoleId=='0'|| ((formClientUser.controls['cboClientUserRole'].hasError('required')) &&(formClientUser.controls['cboClientUserRole'].touched))"> 

<div *ngIf="formClientUser.controls['cboClientUserRole'].touched && (objClientUserDetails.StrClientUserRoleId=='0' || formClientUser.controls['cboClientUserRole'].hasError('required'))"> 

您可能要檢查它是否是第一次接觸,並檢查值0或錯誤required更高版本。