angular2错误消息永远不会消失

时间:2017-04-13 19:36:34

标签: validation angular typescript

我有一个动态生成的表,每行都有select控件。 每行都针对自定义验证器进行验证。

验证器被点击并且正常工作。

当根据验证器的结果显示错误消息时,我无法弄清楚确切的表达式。目前始终显示ERROR消息。

enter image description here

我甚至删除了所有验证逻辑,以便始终返回null。但是没有运气 亲切的问候。

模板:

<tr *ngFor="let kredi of krediList ; let i=index" [attr.rowindex]="i">
   <td>{{kredi?.erkenkapamatutari | number : '1.2-2' }} TL</td>
   <td *ngIf="this.krediHesaplaAktif===true">       
      <select [(ngModel)]="kredi.talepedilenmahsuptipi" class="form-control input-xs" name="mahsuptipleriselect{{i}}" [krediTuruMahsupValidator]="validateKrediTuruMahsup(i)">                          
         <option *ngFor="let m of mahsupTurleri" [ngValue]="m.id" [selected]="kredi.talepedilenmahsuptipi == m.id"  >
            {{m.name}}
         </option>
      </select>
      <p style="color: red" *ngIf="!validateKrediTuruMahsup.valid" class="text-danger"> ERROR MESSAGE</p>
  </td>
  <td><button type="button" class="btn btn-danger btn-sm" (click)="taksitGoruntuleClicked(i)">Taksitleri Gör</button></td>
</tr>

验证:

validateKrediTuruMahsup(selectedIndex: number) { 
        return <ValidatorFn>((control: FormControl) => {

                return null;       
        });
 }

1 个答案:

答案 0 :(得分:1)

您的validateKrediTuruMahsup方法正在返回null,而!null正在true。这使您成为*ngIf="true"