Angular:如何在不考虑附加的formcontrol中的Validators的情况下,从代码中显示md-input-md-input-container中的md-error?

时间:2017-08-30 13:01:40

标签: javascript forms angular angular-material angular-material2

我有一个输入字段

<md-input-container class="margin-top-little">
    <input mdInput placeholder="{{placeholder}}" [(ngModel)]="value" (blur)="onBlur()" name="{{name}}" [formControl]="validator"
    (change)="onChange()" (focus)="onfocus()">
    <md-error *ngIf="validator.hasError('minlength') || validator.hasError('maxlength') ||  validator.hasError('allowed_values') || service_error_type">
        Please enter a valid {{placeholder}}
    </md-error>
    <md-error *ngIf="validator.hasError('required') || service_error_missing">
        {{placeholder}} is <strong>required</strong>
    </md-error>
</md-input-container>

我希望在事件或任何标志的帮助下显示第二个md-error,但不是ngModel中的值。

怎么做?

主要动机是将来自服务的字段级错误映射到相应的字段。

1 个答案:

答案 0 :(得分:0)

md-error*ngIf结构指令创建和销毁。如果您想要显示或隐藏<md-error></md-error>或任何<> </> HTML元素,您可能希望将条件放在* ngIF语句中(例如*ngIf = " event === true "

<md-error *ngIf="validator.hasError('required') || service_error_missing">
</md-error>

<md-error *ngIf="condition">
</md-error>

或更一般地说:

<html-element-tag *ngIf="condition"></html-element-tag>

其中condition是一个函数,变量或语句,它返回(或等同于)“true”或“false”