首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应性表单模式IE11

反应性表单模式IE11
EN

Stack Overflow用户
提问于 2021-03-15 13:51:25
回答 2查看 132关注 0票数 0

我有一张表格:

代码语言:javascript
复制
   this.form = this.formbuilder.group({
      weight: [weight, [Validators.pattern('^(0|[1-9][0-9]*)$')]],
      height: [height, [Validators.pattern('^(0|[1-9][0-9]*)$')]]
    });

有以下投入:

代码语言:javascript
复制
      <input type="number" placeholder="Indtast din højde i cm" name="height" formControlName="height" class="form-control"/>
      <div *ngIf="form.get('height').dirty && form.get('height').invalid" class="error-text">
        No Letters
      </div>

     <input type="number" placeholder="Indtast din vægt i kg" name="weight" formControlName="weight" class="form-control"/>
      <div *ngIf="form.get('weight').dirty && form.get('weight').invalid" class="error-text">
        No Letters
      </div>

这工作的铬,但在IE中,我可以写数字和字符,而不收到错误信息。

有人能告诉我我可能错过了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-16 07:39:41

我认为模式验证实际上在Chrome和IE中都不起作用。我同意Petr Averyanov的回答。您还可以参考这条线这位医生。在医生里,写着:

<input type="number">元素不支持使用pattern属性使输入的值符合特定的regex模式。

您可以将输入类型更改为type="text",然后它可以在IE和Chrome中工作。

在IE 11中的结果:

票数 1
EN

Stack Overflow用户

发布于 2021-03-15 14:04:24

您的问题是无效的,模式从没有在数字输入中起作用,现在也不起作用(只在Chrome中使用​输入'e')。

您需要将输入类型更改为文本或允许字母(实际上为什么不.1e1 === 10 --您可以将输入的验证添加为有效数字)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66639278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档