@danila_prokopenko

Как проверить валидность формы(дочерний элемент) в родительском эелементе?

Мне нужно выполниьт действие в родительском элементе если форм валидна. Валидность хочу проверять через ".valid". Вопрос, как передать "customerForm" в родительский элемент, чтобы проверять его валдиность и выполнять действие?
customer-form.component.ts
export class CustomerFormComponent implements OnInit {

  //@Output() customerFrom: any;

  customerForm = this.fb.group({
    firstName: ['', Validators.compose([Validators.required, Validators.minLength(1)])],
    secondName: ['', Validators.compose([Validators.required])],
    lastName: [''],
    // telNumber: ['', [Validators.pattern('^(900|901)+[0-9]{8}')]],
    telNumber: [''],
    email: ['', Validators.compose([Validators.required])],
    address: this.fb.group({
      state: ['', Validators.compose([Validators.required])],
      city: ['', Validators.compose([Validators.required])],
      street: ['', Validators.compose([Validators.required])],
    }),
    comment: [''],
  });

cart..component.html
<app-customer-form></app-customer-form>
<button *ngIf="customerForm.valid" (click)="parseToJSONCartItems()" class="cart__json-btn">TO JSON</button>
  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Зачем вам всю форму передавать, если вам только признак валидности нужен?
@Output() formValid = this.customerForm.statusChanges.pipe(map(() => this.customerForm.valid))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы