当前位置:  开发笔记 > 编程语言 > 正文

input type ="number"包含null而不是character

如何解决《inputtype="number"包含null而不是character》经验,为你挑选了1个好方法。

我有一个number输入字段,我想用Angular2验证:


到目前为止,这在Chrome中运行良好,因为Chrome会忽略字符作为输入(不会将它们插入输入 - >输入为空 - >必需的验证触发器,或者已经有一个数字,因此最小/最大验证触发器).

问题

另一方面,Firefox让用户输入字符到输入中,这就是问题,如果我插入字符,那么所需的验证触发器和表单控件的值将评估null结果如下:

必需的验证触发器,但输入不为空

我想区分空值和无效模式,但我发现实现这一点的唯一方法是input type="text"使用模式验证器,因为输入的值是null(如果它包含字符)并且模式验证器不会触发这个input type="number".

有没有办法使用Angular2 FormGroup对象访问该字段的实际值(甚至document.querySelector('#foo').value评估为null虽然输入包含42bar)?

或者有没有办法检查输入字段是否包含字符?

或者除了使用之外别无他法input type="text"吗?

Pointy.. 5

如果您输入的数字不是数字的"数字"输入,则值为null.这就是它的工作方式.

您可以检查该.validity.valid标志以查看该字段中是否包含有效值; 空值被认为对数字字段有效.



1> Pointy..:

如果您输入的数字不是数字的"数字"输入,则值为null.这就是它的工作方式.

您可以检查该.validity.valid标志以查看该字段中是否包含有效值; 空值被认为对数字字段有效.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有