• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Hire tech talent
    • Blog
    • Sales
    • Salary Calculator

0

150
Views
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

almost 4 years ago · Juan Pablo Isaza
2 answers
Answer question

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-

almost 4 years ago · Juan Pablo Isaza Report

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.

almost 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!