Vscode-ng-language-service: [Угловой] Идентификатор 'required' не определен. '__type' не содержит такого члена

Созданный на 28 авг. 2017  ·  22Комментарии  ·  Источник: angular/vscode-ng-language-service

ошибки свойств AbstractControlDirective

У меня такой код:

<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>

Используя свойство внутри свойства errors ссылки ngModel, он показывает мне эту ошибку.
Это не должно быть ошибкой, поскольку это допустимый синтаксис для форм на основе шаблонов.

Самый полезный комментарий

это решит проблему:
просто добавьте приведение к bool, используя !! :


Укажите имя пассажира.

Все 22 Комментарий

Закрытие из-за дублирования номера 149

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

Посмотрите на этот код -

Это поле обязательно к заполнению
          <div *ngIf="username.errors.minlength">Minimum length should be {{username.errors.minlength.requiredLength}}</div>

Выдача ошибки компилятором TS -
[Угловой] Идентификатор 'required' не определен. '__type' не содержит такого члена

Я пробовал то же самое, но у меня ничего не вышло

Пример
попробуйте добавить "?" после "цена".
"

Цена обязательна.
"

Имя обязательно.
Имя должно состоять минимум из 3 символов.

Имя не соответствует шаблону.


я пробовал это

<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

это решит проблему:
просто добавьте приведение к bool, используя !! :


Укажите имя пассажира.

Пример
попробуйте добавить "?" после "цена".
"

Требуется цена. "

Решил эту проблему добавлением? до параметра, а не после ошибок? Но не могли бы вы его уточнить и попытаться объяснить, как эта проблема решается простым перемещением вопросительного знака? @Danielapariona

это решит проблему:
просто добавьте приведение к bool, используя !! :


Укажите имя пассажира.

Это решило мою проблему! Благодарность!

Пример
попробуйте добавить "?" после "цена".
"

Требуется цена. "

У меня это сработало. Подскажите, пожалуйста, зачем добавлять "?"

это тоже решит мою проблему, просто добавьте?

Но ни преобразование в логическое значение, ни использование? (Может не иметь) не решают того факта, что intelliSense не может найти свойства _errors_.

попробуйте цену ['ошибки'] ['обязательно']

@EeeEui the? (оператор безопасной навигации) примет переменную, даже если она может быть недопустимой, и обработает исключение внутренне (в данном случае недопустимое = false).

? у меня не сработало. !! работал только в моем случае.

? не работает f. !! работал только в angular 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>

Теперь это похоже на проблему с VSCode, потому что ошибка все еще выделена в моем редакторе, но Angular не обнаруживает ее как таковую. Чтобы решить эту проблему для VSCode, я проверил ошибку на стороне TypeScript с помощью функции.

HTML

html

Машинопись

ts

Это сработало для меня и выглядит чище.
<div class="error" *ngIf="fullname.hasError('required')">
этот способ полезен, даже если мы обрабатываем и настраиваемую проверку, например fullname.hasError('invalidName')

У меня была такая же ошибка. Выполнение *ngIf="formGroup?.get('fullName').hasError('required')" сработало для меня

Теперь это похоже на проблему с VSCode, потому что ошибка все еще выделена в моем редакторе, но Angular не обнаруживает ее как таковую. Чтобы решить эту проблему для VSCode, я проверил ошибку на стороне TypeScript с помощью функции.

HTML

html

Машинопись

ts

Большой Брат, для тебя это слишком много проблем.

Сделайте * ngIf = "yourForm.get ('yourfield'). HasError ('required')"

Эта проблема была автоматически заблокирована из-за бездействия.
Пожалуйста, сообщите о новой проблеме, если вы столкнулись с аналогичной или связанной проблемой.

Узнайте больше о нашей политике автоматической блокировки разговоров .

_Это действие было выполнено автоматически ботом. _

Была ли эта страница полезной?
0 / 5 - 0 рейтинги