Vscode-ng-language-service: [Angular] L'identifiant 'requis' n'est pas défini. '__type' ne contient pas un tel membre

Créé le 28 août 2017  ·  22Commentaires  ·  Source: angular/vscode-ng-language-service

erreurs de propriété de AbstractControlDirective

J'ai le code suivant:

<div>
    <label for="fullname">Passenger name:</label>
    <input
      type="text"
      name="fullname"
      required
      #fullname="ngModel"
      [ngModel]="detail?.fullname">

      <div class="error" *ngIf="fullname.errors?.required && fullname.dirty">
        Passenger name is required.
      </div>
  </div>

En utilisant une propriété à l'intérieur de la propriété errors de la référence ngModel, cela me montre cette erreur.
Cela ne devrait pas être une erreur car c'est une syntaxe valide pour les formulaires basés sur des modèles.

Commentaire le plus utile

cela résoudra le problème :
ajoutez simplement le casting à bool en utilisant !! :


Le nom du passager est requis.

Tous les 22 commentaires

Fermeture car doublon du #149

J'ai essayé avec l'approche ci-dessus, mais cela a lamentablement échoué.

Veuillez regarder ce code -

Ce champ est obligatoire
          <div *ngIf="username.errors.minlength">Minimum length should be {{username.errors.minlength.requiredLength}}</div>

Erreur de lancement par le compilateur TS -
[Angular] L'identifiant 'requis' n'est pas défini. '__type' ne contient pas un tel membre

j'ai essayé la même chose mais je ne m'en sors pas

Exemple
essayez d'ajouter "?" après "prix".
"

Le prix est requis.
"

Le prénom est requis.
Le prénom doit comporter au moins 3 caractères.

Le prénom ne correspond pas au modèle.


j'ai essayé ça

<div *ngIf="firstName.errors.required">First Name is required. <div *ngIf="firstName.errors.minlength">First Name should be minimum 3 character.</div> <div *ngIf="firstName.errors.pattern">First Name doesn't Match pattern.</div> </div> i tried this

cela résoudra le problème :
ajoutez simplement le casting à bool en utilisant !! :


Le nom du passager est requis.

Exemple
essayez d'ajouter "?" après "prix".
"

Le prix est requis."

J'ai résolu ce problème en ajoutant ? avant le paramètre et non après les erreurs ? Mais pouvez-vous s'il vous plaît l'élaborer et essayer d'expliquer comment ce problème est résolu simplement en déplaçant le point d'interrogation ? @Danielaparona

cela résoudra le problème :
ajoutez simplement le casting à bool en utilisant !! :


Le nom du passager est requis.

Cela a résolu mon problème ! Merci!

Exemple
essayez d'ajouter "?" après "prix".
"

Le prix est requis."

Cela a fonctionné pour moi. Pourriez-vous s'il vous plaît me dire pourquoi ajouter "?"

cela résout également mon problème, ajoutez simplement ?

Mais ni la conversion en booléen ni l'utilisation de ? (peut ne pas avoir) ne résout pas le fait que l'intelliSense ne peut pas trouver les propriétés de _errors_.

essayez le prix['errors']['required']

@EeeEui le ? (opérateur de navigation sécurisé) prendra une variable même si elle peut être invalide et traitera l'exception en interne (invalide = false dans ce cas).

? n'a pas fonctionné pour moi. !! n'a fonctionné que dans mon cas.

? n'a pas fonctionné f. !! n'a fonctionné qu'en angulaire 7+.

<div class="alert alert-danger" *ngIf="username.touched && username.invalid" class="alert alert-danger">
            <div *ngIf="!!username.errors.required">Username is required</div>
            <div *ngIf="!!username.errors.minlength">Username Should be minimum {{ !!username.errors.minlength.requiredLength }} Charecters.</div>
          </div>

Cela semble maintenant être un problème avec VSCode, car l'erreur est toujours mise en évidence dans mon éditeur, mais Angular ne la détecte pas comme telle. Ce que j'ai fait pour résoudre ce problème pour VSCode est de vérifier l'erreur du côté TypeScript, avec une fonction.

HTML

html

Manuscrit

ts

Cela a fonctionné pour moi et il a l'air plus propre.
<div class="error" *ngIf="fullname.hasError('required')">
cette façon est utile même si nous gérons également la validation personnalisée telle que fullname.hasError('invalidName')

J'ai eu la même erreur. Faire *ngIf="formGroup?.get('fullName').hasError('required')" fonctionné pour moi

Cela semble maintenant être un problème avec VSCode, car l'erreur est toujours mise en évidence dans mon éditeur, mais Angular ne la détecte pas comme telle. Ce que j'ai fait pour résoudre ce problème pour VSCode est de vérifier l'erreur du côté TypeScript, avec une fonction.

HTML

html

Manuscrit

ts

Big Brother, c'est trop de problèmes pour toi.

Faites *ngIf="votreFormulaire.get('votrechamp').hasError('required')"

Ce problème a été automatiquement verrouillé en raison de l'inactivité.
Veuillez déposer un nouveau problème si vous rencontrez un problème similaire ou connexe.

En savoir plus sur notre politique de verrouillage automatique des conversations .

_Cette action a été effectuée automatiquement par un bot._

Cette page vous a été utile?
0 / 5 - 0 notes