Ионная угловая схема валидатора - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь запретить пользователю печатать символы и смайлики на клавиатуре, для этого я использую валидатор шаблонов, но когда я что-то печатаю во входных данных, появляется

не может прочитать свойство 'required' из null

как это решить?

   <form [formGroup]="instituicao">
     <p>Informe os dados:</p>
      <ion-item>
        <ion-label stacked>ONG:</ion-label>
        <ion-input type="text" formControlName="ong"></ion-input>
      </ion-item>
      <ion-item *ngIf="!instituicao.controls.ong.valid & 
      (instituicao.controls.ong.dirty || instituicao.controls.ong.touched)">
      <div [hidden]="!instituicao.controls.ong.errors.required">
        O campo é obrigatório
      </div>
    </ion-item>
    <ion-item text-center *ngIf="
      instituicao.controls.ong.valid">
      <div [hidden]="
        !instituicao.controls.ong.valid">
        <button ion-button outline large color="danger" 
          (click)="createAccount()">Cadastrar</button>
      </div>
      </ion-item>
   </form>

import { FormBuilder, FormGroup, Validators } from '@angular/forms';

  instituicao: FormGroup;
  instituicao_array: any;

this.instituicao_array = this.navParams.data.instituicao || {};//inside constructor
this.createForm();//inside constructor

createForm() {
    this.instituicao = this.formBuilder.group({
      key: [this.instituicao_array.key, Validators.required],
      ong: [this.instituicao_array.ong,Validators.required, Validators.pattern('[a-zA-Z ]*')]
    })
  }

1 Ответ

0 голосов
/ 26 августа 2018

изменение:

<div [hidden]="!instituicao.controls.ong.errors.required">
    O campo é obrigatório
</div>

до:

<div [hidden]="!instituicao.controls.ong.errors?.required">
    O campo é obrigatório
</div>

просто используя безопасную навигацию, добавив ?

см .: https://angular.io/guide/template-syntax#safe-navigation-operator

...