如果字段值无效,则angular2显示消息

时间:2017-07-06 05:50:47

标签: angular

我在angular2页面中有以下字段(我没有使用表单)。

<input id="firstname" name="firstname" class="field-input field-validation-input" [(ngModel)]="firstname"
                    placeholder="First name" spellcheck="false" required #firstNameField>

现在我想在字段底部显示一条消息,如果它是无效的,在这种情况下如果它是空的。执行此操作的最佳方法是什么,我可以使用firstNameField.className但是您可以看到这里有许多类并且尝试过滤ng-invalid可能是个问题

2 个答案:

答案 0 :(得分:2)

使用

#firstNameField="ngModel"

以便此模板变量引用NgModel指令,从而可以访问其所有属性和方法:

<div *ngIf="!firstNameField.valid">Houston, we have a problem</div>

<div *ngIf="firstNameField.hasError('required')">The first name is required</div>

答案 1 :(得分:0)

为什么不使用表单和Angular内置的验证功能?

如果没有表单,您可以在setter中为执行验证的firstname字段编写一些代码并设置消息。然后,您可以添加元素以在设置消息时显示消息。

在组件中:

   message: string;
   _firstName: string;
   get firstName(): string {
      return this._firstName;
   }
   set firstName(value: string) {
      this._firstName = value;
      // Validation here
      // If validation does not pass
      {
         message = "Please enter a valid value";
      }
   }