【问题标题】:Validate quantity of items验证物品数量
【发布时间】:2019-07-03 22:58:45
【问题描述】:

我正在尝试验证 'cites' 数组中的项目数量,我该怎么做? 我想验证用户是否至少通知了一个城市。 我正在尝试使用“FormArray”验证,但无济于事

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';

@Component({
  selector: 'app-validacao2',
  templateUrl: './validacao2.component.html',
  styleUrls: ['./validacao2.component.css']
})
export class Validacao2Component implements OnInit {
  // tslint:disable-next-line:max-line-length
  usuario: any = {nome: '', email: '', cites: [new FormControl('São Paulo', [Validators.required])]};

  form = new FormGroup({
    nome: new FormControl(this.usuario.nome, [Validators.required, Validators.minLength(4)]),
    email: new FormControl(this.usuario.email, [Validators.required, Validators.email]),
    cites: new FormArray(this.usuario.cites, [Validators.min(1)])
  });

  constructor() { }

  get cites(): FormArray {
    return this.form.get('cites') as FormArray;
  }

  adicionarCidade() {
    this.cites.push(new FormControl('', [Validators.required]));
  }

  removerCidade(indice: number): void {
    this.cites.removeAt(indice);
  }

   onSubmit() {
     console.log(this.form.value);
   }

  ngOnInit() { }
}

【问题讨论】:

标签: angular


【解决方案1】:

如果您需要您的数组至少有 1 个成员,那么您只需添加 Validator.required 即可。

cites: new FormArray(this.usuario.cites, [Validators.required])

【讨论】:

    猜你喜欢
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2014-04-23
    相关资源
    最近更新 更多