dialog-insert-ops.component.ts```ts
export class DialogInsertOpsComponent implements OnInit {
//Controles
@ViewChild('opField') messageElement!: ElementRef;
//Fomrulário
form!: FormGroup;
constructor(
private formsService: FormsService,
public dialogRef: MatDialogRef<DialogInsertOpsComponent>,
@Inject(MAT_DIALOG_DATA) public data: IDialogOps
) { }
ngOnInit(): void {
//Dialog com campo de entrada Textarea
if (this.data.withField) {
//Construir form e validação
this.form = new FormGroup({
op: new FormControl(this.data.op, [
Validators.required,
Validators.pattern("^[0-9]*$"),
Validators.maxLength(20),
])
});
}
console.log(this.data.auxCerts);
}
ngAfterViewInit(): void {
//Dialog com campo de entrada Textarea
if (this.data.withField) {
this.formsService.focusDelay(this.messageElement);
}
}
/**
- Retorna uma mensagem de erro para o campo Message
- @returns string | void
*/
getErrorsMsgField(): string | void {
if (this.form.get('op')?.hasError('required')) {
return 'Campo obrigatório';
} else if (this.form.get('op')?.hasError('maxlength')) {
return 'Limite de caracteres excedido';
} else if (this.form.get('op')?.hasError('pattern')) {
return 'O valor deverá ser numérico';
}
}
/**
- Ao enviar o formulário
*/
onSubmit() {
console.log(this.form.get('op')?.value);
// this.dialogRef.close(this.form.get('op')?.value);
}
/**
- Confirma a Dialog
*/
confirm() {
this.dialogRef.close(true);
}
}```