【问题标题】:Add required validator in div在 div 中添加所需的验证器
【发布时间】:2020-03-20 09:38:16
【问题描述】:

我想知道是否可以将“必需”验证器放在“div”上?

让我解释一下:我有一个由另一个组件更新的列表(这个 div)。当我验证我的表单时,我想检查这个 div 是否已填写。如果没有,则显示消息“需要联系”

div *ngIf="contacts.length > 0">
          <div fxLayout="row wrap" fxLayoutAlign="start center">
            <span class="mr-1">Contacts :</span>
            <div *ngFor="let contact of contacts; index as i" class="chip">
              {{contact.mail}}
              <i (click)="deleteContact(i)" class="fas fa-times"></i>
            </div>
          </div>
        </div>

        <div *ngIf="(contacts.length == 0)">
          <div>Empty</div>
        </div>

当它是另一个组件(输入)时,我会这样进行并且它可以工作:

<div class="form-group">
          <label for="subject">Subject *</label>

          <input type="text" name="subject" id="subject" [(ngModel)]="message.subject" minlength="1" placeholder="Subject"
            [ngClass]="{ 'is-invalid': submitted && f.sujet.errors }" formControlName="subject" class="form-control">

          <div *ngIf="submitted && f.subject.errors" class="invalid-feedback">
            <div *ngIf="f.subject.errors.required">Required(1 character minimum)</div>
          </div>
        </div>

除非在我目前的情况下这是不可能的......

你能帮帮我吗?

谢谢

【问题讨论】:

  • 为什么不使用{{contact.mail?contact.mail:'required'}}

标签: html angular typescript validation requiredfieldvalidator


【解决方案1】:

我猜你的目标是使用Form Validators 功能。只是一个快速的想法:

在您的表单中使用隐藏的&lt;input /&gt; 字段并添加绑定到一些contacts 属性(例如length)。然后,您可以尝试使用一些内置的Form Validators,也可以构建自定义的,它会检查隐藏输入字段的值是否大于0

您可以像对其他表单输入字段一样显示错误消息,方法是检查输入字段是否有一些验证错误:

 <div *ngIf="submitted && f.your_hidden_field.errors" class="invalid-feedback">
    Contacts are required
 </div>

【讨论】:

  • 如何在输入中绑定“联系人”?这是一个列表
  • 我没有写你应该绑定“联系人”列表,而是联系人属性(例如length)。或者,使用组件中的特定布尔属性 - 您可以通过查看联系人长度或类似内容来设置其值。
猜你喜欢
  • 2017-04-27
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
  • 2017-12-07
  • 2018-06-01
  • 1970-01-01
相关资源
最近更新 更多