0

フォームの検証をしていて、何らかの理由でmyTest.pristineの条件でクラスを選択しようとしています起こるしかし、これは通常の入力でうまく動作します。下の私の例を見てください。ngControlStatus(valid、invalid、pristine、dirtyなど)が働いていません<select>

<div class="form-group" [class.has-error]="hasPrimaryLanguageError && primaryLanguage.pristine"> 
    <label>Primary Language *</label> 
    <select class="form-control" #primaryLanguage name="primaryLanguage" [(ngModel)]="model.primaryLanguage"> 
    <option value="default">Select a Language...</option> 
    <option *ngFor="let lang of languages">{{ lang }}</option> 
    </select> 
    <div *ngIf="hasPrimaryLanguageError && primaryLanguage.pristine" class="alert alert-danger">Required</div> 
</div> 

答えて

0

デフォルト値は空である必要があります。

<option value="">Select a Language...</option> 

もが最初

model.primaryLanguage = ""; 

を設定し、私は私の#primaryLanguageがngModelに等しく設定されていなかったことが判明し、この更に見た後ので、あなたの最終的なコードは

<div class="form-group" [class.has-error]="hasPrimaryLanguageError && primaryLanguage.pristine"> 
    <label>Primary Language *</label> 
    <select class="form-control" #primaryLanguage name="primaryLanguage" [(ngModel)]="model.primaryLanguage" required> 
     <option value="">Select a Language...</option> 
     <option *ngFor="let lang of languages" value="{{yourlanguaugeid}}">{{ lang }}</option> 
    </select> 
    <div *ngIf="hasPrimaryLanguageError && primaryLanguage.pristine" class="alert alert-danger">Required</div> 
</div> 
0

になります。これは私の問題を解決しました。

関連する問題