我的表单中有2个字段,1个文本输入和1个选择。
主要功能是:当我在输入中键入数字时(例如:123
),它会根据我选择中的选项值更改选择。
问题是,当我输入一个在select中不存在的数字时,select输入由这个数字设置,但我需要select由“NULL”设置,否则验证器不能工作这个领域。
示例:当您键入:001 - 显示库1时,如果是002库2,如果是003库3,但是如果键入005,则它不显示任何内容(确定),但是select的值设置为005,并且我需要设置NULL,因为它是005,在验证器中有一个VALUE,但是一个“假”值,验证器将传递一个伪值,该值在select对象列表中不存在。
PLUNKER:plunker here
<div class="form-group" [ngClass]="{'has-error':!form3.controls['banco'].valid && form3.controls['banco'].touched}">
<label class="col-sm-2 control-label">Banco:</label>
<div class="input-group">
<span class="input-group-addon">*</span>
<input formControlName="codBanco" type="text" class="form-control" placeholder="Código Banco..."
(keyup)="codBanco($event.target.value)">
<select [(ngModel)]="form3.banco" formControlName="banco" class="form-control"
[class.invalid]="form3.controls['banco'].touched && !form3.controls['banco'].valid" (change)="bankChanged($event)">
<option *ngFor="let banks of bancos" [value]="banks.code">{{banks.title}}</option>
</select>
</div>
<div *ngIf="form3.controls['banco'].hasError('required') && form3.controls['banco'].touched" class="alert alert-danger">Preencha o campo banco.</div>
<div *ngIf="form3.controls['banco'].hasError('pattern') && form3.controls['banco'].touched" class="alert alert-danger">O campo banco aceita somente números.</div>
</div>
codBanco(tecla){
this.form3.controls['banco'].patchValue(tecla);
//if(this.form3.controls['banco'].value)
console.log(this.bancos.code.indexOf(237));
}
bankChanged(evento){
this.form3.controls['codBanco'].patchValue(evento.target.value);
}