setValue не является свойством EelementRef - PullRequest
0 голосов
/ 17 мая 2018

Я тестирую эту HTML-форму:

<form  name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm">
<input #inputValid type="text" class="form-control" name="nombre" id="field_nombre"
       [(ngModel)]="paciente.nombre" required/>

Я проверяю достоверность ввода, что означает, что если оно пустое, оно должно дать сбой. Я ссылался на элемент input, используя ViewChild в моем компоненте следующим образом: >

export class PacienteDialogComponent implements OnInit {

 @ViewChild('inputValid') inputValid: ElementRef;
 ......

И я проверяю это так:

fit ('If blank it should be invalid', async(() => {                  
   comp.inputValid.setValue('');
  //comp.inputValid.controls['paciente.nombre'].setValue(''); 
  //OUTPUTS CANNOT READ paciente.nombre of undefined
  expect(inputElement.valid).toBeFalsy();
}));

Ошибка, которую я получаю здесь:

SetValue не является функцией.

И если я использую элементы управления, ошибка будет такой же, как в комментарии к строке:

не может прочитать свойство undefined.

Как я могу проверить достоверность этого ввода? Форма основана на шаблонах угловых.

1 Ответ

0 голосов
/ 17 мая 2018

Во-первых, я не понимаю, почему вам нужно проверять это вручную, если у вас есть «обязательный» в элементе управления вводом.
В любом случае, вы не должны проверять через компонент ViewChild, вы можете проверить это непосредственно в поле вашего класса, которое привязано к форме (aka paciente.nombre).
Но, если у вас есть причина для доступа к элементу html, вы должны использовать

comp.inputValid.nativeElement.value = .....

Надеюсь, это поможет!

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