【问题标题】:applying pattern validator to input type number Angular 6将模式验证器应用于输入类型号 Angular 6
【发布时间】:2018-08-21 22:35:09
【问题描述】:

我有反应形式,其中一个字段用户只能输入非十进制正数。

this.projectForm = new FormGroup({
      'id': new FormControl(null, [Validators.required]),
      'name': new FormControl(null, [Validators.required]),
      'seqNo': new FormControl(null, [Validators.required, Validators.pattern(/^[1-9]+[0-9]*$/)]) 
    });

当我将其保留为输入类型文本时,两个验证都会触发而没有任何问题。除了正整数外,我无法输入。

        <input type="text" id="seqNo" class="form-control" placeholder="Seq No" formControlName="seqNo" min="1" step="1">
        <span class="mwk-validation-error form-text" *ngIf="!projectForm.get('seqNo').valid && projectForm.get('seqNo').errors?.required">Seq no is required!</span>
        <span class="mwk-validation-error form-text" *ngIf="!projectForm.get('seqNo').valid && !projectForm.get('seqNo').errors?.required">Seq no must be positive number</span>

我想在这里使用输入类型 = 数字。问题是

  • 在字母表上,它视为未输入任何内容,因此需要显示味精。
  • 它允许我输入一个十进制值,模式验证不会触发我

如何解决这个问题?我不想编写自定义验证,因为对于字母它不会触发任何方式。

【问题讨论】:

    标签: angular6 angular-validator


    【解决方案1】:
     <span *ngIf="projectForm.hasError('required', 'seqNo')">
                            Name is required.
                        </span>
    

    这样试试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      • 2018-11-13
      相关资源
      最近更新 更多