Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ngControlStatus(有效、无效、原始、脏等)不在<;选择>;_Angular_Angular2 Forms_Angular Forms_Angular4 Forms_Control State - Fatal编程技术网

Angular ngControlStatus(有效、无效、原始、脏等)不在<;选择>;

Angular ngControlStatus(有效、无效、原始、脏等)不在<;选择>;,angular,angular2-forms,angular-forms,angular4-forms,control-state,Angular,Angular2 Forms,Angular Forms,Angular4 Forms,Control State,我正在尝试进行一些表单验证,出于某种原因,当我尝试在myTest.pristine的条件下向select添加一个类时,什么也没有发生。但是,这在常规输入上运行良好。请看我下面的例子 <div class="form-group" [class.has-error]="hasPrimaryLanguageError && primaryLanguage.pristine"> <label>Primary Language *</label>

我正在尝试进行一些表单验证,出于某种原因,当我尝试在myTest.pristine的条件下向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>

初级语言*
选择一种语言。。。
{{lang}}
要求的

您的默认值需要为空,即:

<option value="">Select a Language...</option>
所以你的最终代码是

<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>

初级语言*
选择一种语言。。。
{{lang}}
要求的

进一步研究后,我发现我的#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>