如何以 html Angular 形式执行条件验证

pra*_*lli 1 forms maxlength angular angular-reactive-forms angular2-form-validation

我有一个表单,仅当值不等于 0 时,我才想实现 MAXLENGTH 验证。

那么有parameter.valueMaxlength === 0 { then dont execute maxlength validation } 没有办法把这个逻辑写在html文件中呢。

 <mat-form-field *ngSwitchCase="'TEXTBOX'" class="example-full-width">
  <input
    matInput
    [placeholder]="parameter.displayName"
    [formControlName]="parameter.id"
    [id]="parameter.id"
    [type]="parameter.dataType"
    [maxlength] = "parameter.valueMaxlength"

  />
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

Ale*_*sky 5

通过将三元运算符与 一起使用来尝试以下操作[attr.maxlength]

<input
    matInput
    [placeholder]="parameter.displayName"
    [formControlName]="parameter.id"
    [id]="parameter.id"
    [type]="parameter.dataType"
    [attr.maxlength]="parameter.valueMaxlength === 0 ? null : parameter.valueMaxlength" 
/>
Run Code Online (Sandbox Code Playgroud)

maxLength如果传递的值等于 则不会渲染0,否则它将使用等于传递的值进行渲染。

这是一个实际的例子。

希望这有帮助!