2017-07-17 30 views
1

md-error在我的输入中未触发最小值/最大值。尽管如此,它正在为“必需”工作。md-error没有以数字输入的最大值/最小值触发

我在app.module.ts的NgModule中导入了MaterialModule。

HTML:

<div class="form-group"> 
       <md-input-container> 
       <input mdInput id="useramount" 
         name="useramount" 
         type="number" 
         class="form-control " 
         [(ngModel)]="amount" 
         #useramount="ngModel" 
         placeholder="amount" 
         min="{{40 | number}}" 
         max="{{300 | number}}" 
         required/> 
       <md-error *ngIf="amountFormControl.hasError('required')"> 
        <span>{{'NOT_VALID_FIELD'| translate}} </span> 
       </md-error> 
       <md-error *ngIf="amountFormControl.hasError('min')" 
        > 
        <span>{{'FIELD_MIN_VAL'| translate}}</span> 
       </md-error> 
       <md-error *ngIf="amountFormControl.hasError('max')" 
          > 
        <span>{{'FIELD_MAX_VAL'| translate}}</span> 
       </md-error> 
       </md-input-container> 
      </div> 

TS文件:

public amountFormControl = new FormControl('', [Validators.min(40), Validators.required, Validators.max(300)]); 
+0

不确定您使用的是哪个版本的材料,但MaterialModule 已在beta 3中弃用。您需要导入单个模块。在你的情况下,你需要导入MdInputModule。您可以创建自己的模块,用于导入和导出要在应用中使用的所有材质模块,并将该模块导入到您的应用模块中。 – Rama

+0

@Rama使用beta.8!它是为我工作的需要,但我从验证器对象的智能感知中获得最小和最大值!找不到任何关于他们的文档!有没有其他选项可以对输入类型编号进行验证? – Hazu

回答

0

尝试使用minlengthmaxlength代替minmax

这就是它的文件Angular docs

角度形式包括一些内置的验证器功能,这些功能可以帮助您检查表单中的常见用户输入。除了minlengthmaxlengthrequired涵盖的内置验证器之外,还有其他诸如emailpattern的Reactive Forms。

相关问题