【问题标题】:angular2 error message never disappearsangular2 错误信息永远不会消失
【发布时间】:2017-09-10 01:21:39
【问题描述】:

我有一个动态生成的表格,每一行都有选择控件。 每一行都根据自定义验证器进行验证。

验证器被命中并且工作正常。

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

我什至删除了所有验证逻辑以始终返回 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;       
        });
 }

【问题讨论】:

    标签: validation angular typescript


    【解决方案1】:

    您的validateKrediTuruMahsup 方法返回null,而!nulltrue。这使您的*ngIf="true"

    【讨论】:

    • 控件成功通过验证器表明输入有效时的正确响应不是 null 吗?
    • @desperado06 我不是在判断用法,我只是在说为什么会这样:-) 如果您想发送 null,您可以将您的 *ngIf 更改为 *ngIf="validateKrediTuruMahsup.valid" 而无需!
    猜你喜欢
    • 2021-04-15
    • 2011-09-11
    • 2014-03-11
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多