из валидатора в angular возвращает странное значение - PullRequest
0 голосов
/ 17 апреля 2020

Я создал реактивную форму, подобную следующей, которую я заполняю из данных, полученных с сервера:

newUserInfoForm = this.formBuilder.group({
    personalInfo: this.formBuilder.group({
      name: [undefined, [Validators.required, Validators.pattern('.*\\S+.*')]],
    }),
    legalInfo: this.formBuilder.group({
      companyName: [undefined, [Validators.required, Validators.required]],
    }),
  });

проблема в том, что когда я пытаюсь получить подтверждение формы, я получаю странное поведение. Когда я регистрирую все this.newUserInfoForm.get('personalInfo').get('name'), я вижу, что действительное свойство истинно, но когда я регистрирую this.newUserInfoForm.get('personalInfo').get('name').valid, оно ложно. Вы также можете увидеть это на прикрепленном изображении

logging both of them in the console

, поскольку вы можете видеть, что форма действительна, но в первой строке, когда я регистрируюсь this.newUserInfoForm.get('personalInfo').get('name').valid возвращает false

checkFormValidation() {
    console.log(
      `this.newUserInfoForm.get('personalInfo').get('name').valid = ` + this.newUserInfoForm.get('personalInfo').get('name').valid
      // just to demonstrate properly I have added the string above
    );
    console.log(this.newUserInfoForm.get('personalInfo').get('name'));
    // this will return me the form which I have attached the photo of
  }

Я вызову этот метод checkFormValidation() после того, как я подпишусь на данные с сервера и установлю значение в форме (например, установив в качестве имени "farBrand")

так какое-нибудь решение этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...