Estoy tratando de configurar una validación de formulario básica para una selección.
En mi constructor tengo el siguiente FormGroup
this.formSubmission = new FormGroup( { triggers: new FormControl(['', [ Validators.required]]) } )
Tengo un botón en la pantalla para probar la validez de FormGroup
y siempre vuelve como válido incluso cuando no hay nada seleccionado para "disparadores".
Al hacer clic se ejecuta el siguiente código:
console.log('FormGroup Status: ' + this.formSubmission.status)
Esto devolverá VÁLIDO.
La parte HTML de esto se puede encontrar aquí:
<div [formGroup]="formSubmission"> <mat-form-field appearance="fill"> <mat-label>Triggers</mat-label> <mat-select formControlName="triggers" multiple > <mat-option *ngFor="let trigger of triggersList" [value]="trigger.TRIGGER_NAME">{{trigger.TRIGGER_NAME}}</mat-option> </mat-select> </mat-form-field> </div>
Definiste mal los disparadores.
triggers: new FormControl(['', [ Validators.required]])
dará como resultado disparadores: matriz. El primer argumento es el valor, el segundo son los validadores, asyncValidators u opciones
lo que probablemente quisiste hacer es esto:
triggers: new FormControl('', [ Validators.required])