Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
cómo validar el campo de entrada que contiene el objeto

¿Cómo puedo verificar que el campo de entrada requerido no esté vacío? FormControl no puede leer el objeto...

 public discountParamsForm = new FormGroup({ name: new FormControl('', Validators.required), type: new FormControl('', Validators.required), status: new FormControl('', Validators.required), value: new FormControl('', [Validators.required, Validators.pattern(/^([0-9]{1,2}){1}(\.[0-9]{1,2})?$/), Validators.min(1), Validators.max(100)]), dateInput: new FormControl('', Validators.required), categorySelect: new FormControl('', Validators.required) });

 <input formControlName="dateInput" fullWidth type="text" [(ngModel)]="dateRange" nbInput placeholder="{{pickDateUI}}" [nbDatepicker]="datepicker"> <nb-rangepicker (rangeChange)="onDateChange($event)" format="yyyy-MM-dd" #datepicker></nb-rangepicker>

console.log para valor y descuentoparamsform

interfaz de usuario

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

nunca, nunca use en la misma etiqueta [(ngModel)] y formControlName

Bueno, usa un Validador personalizado .

 discountParamsForm = new FormGroup({ ... dateInput: new FormControl('', this.validatorRange()), }) validatorRange(){ return (control:AbstractControl)=>{ if (!control.value.start) return {error:'start date is mandatory'} if (!control.value.end) return {error:'end date is mandatory'} } }

Vea que el control siempre es un objeto con propiedades "inicio" y "fin" -por lo que siempre tiene valor, por lo que en el validador personalizado verificamos si esta propiedad tiene valor o no-

about 4 years ago · Juan Pablo Isaza Relatório

0

Un par de cosas aquí, estás mirando el objeto de formulario en sí. Puede ver en la imagen de la consola, el formulario completo es INVALID .

Si desea ver si hay un campo en un formulario, puede usar el método get.

en tu componente

 this.discountParamsForm.get('name');

esto devuelve un objeto FormControl y tiene valores como válido/no válido y muchos otros usan indicadores completos.

puede agregar un método getter en su componente para verificar esto en su html.

 get name() { return this.discountParamsForm.get('name'); }
 <input [ngClass]="{'my-invalid-class': name.invalid}"

dado que tenemos un método getter, no necesitamos verificar el formulario directamente y podemos acceder fácilmente al control dentro del formulario principal.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda