gpt4 book ai didi

angularjs - 小数作为数字输入字段中的第一个字符

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:11 25 4
gpt4 key购买 nike

我有一个 <input type="number"></input>字段,当我尝试输入小数作为第一个字符时,它显示为无效(我有一个 ng-change 触发)。

.5行不通,但是 0.5已验证。我能做些什么吗?

最佳答案

根据 HTML 规范,.5 <input type="number"> 有效.

所以,您是对的,验证错误的来源工具(浏览器?Angular?)是错误的。

至于如何处理它——如何解决它——我不知道该建议什么,但作为一个真正从事这些东西规范工作的人,我想请你至少取悦针对正在(错误)执行导致您看到该消息的实际验证的任何工具提交错误。如果没有人花时间报告这样的规范一致性错误(而是每个人都通过输入例如 0.5 来绕过它),那么这些错误永远不会得到修复。

无论如何,就我断言的证据而言 .5实际上是有效的:HTML 规范对此非常清楚;见the section defining what a valid floating-point number is :

A string is a valid floating-point number if it consists of:

  1. Optionally, a U+002D HYPHEN-MINUS character (-).
  2. One or both of the following, in the given order:
    1. A series of one or more ASCII digits.
    2. Both of the following, in the given order:
      1. A single U+002E FULL STOP character (.).
      2. A series of one or more ASCII digits.
  3. Optionally:
    1. Either a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN CAPITAL LETTER E character (E).
    2. Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B PLUS SIGN character (+).
    3. A series of one or more ASCII digits.

除了来自规范本身的证据,这里还有其他支持证据的记录:事实上,曾经有一段时间 HTML 规范不允许 .5而是要求它写成 0.5 ;然而,经过 “Floating point numbers beginning with a dot should be valid and parsed correctly” bug 是针对规范提出的,规范随后被更改(2011 年)以说明它当前的状态(也就是说,也允许,例如 .5)。

因此,任何标记 .5 的工具由于自 2011 年以来可能没有在这方面更新过错误,因此无论如何都需要其维护者返回他们的代码并根据当前规范要求评估他们的代码,以确保他们符合当前规范。

我希望以上内容提供了足够的弹药来针对负责任的工具提出错误。

关于angularjs - 小数作为数字输入字段中的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32592005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com