You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决CSS中input:required:invalid规则对小数输入不生效的问题

问题根因

type为number的输入框默认step属性值为1,仅会将整数判定为有效数值,你输入的小数不符合默认步长规则,所以一直命中:invalid伪类样式,红框不会消失。

修复方法

给id为enterThing的数字输入框添加step属性即可,根据你的需求二选一:

  • 如果要和下方滑块的步长保持一致,仅允许1位小数,设置step=".1"
  • 如果允许任意精度的有效小数,设置step="any"

修改后的HTML代码如下:

<input id = "enterThing"
  type        = "number"
  class       = "form-control formBlock"
  min         = "0"
  max         = "10.5"
  step        = ".1"
  required
>
<input id = "sliderThing"
  class   = "slider"
  type    = "range"
  step    = ".1"
  value   = "0"
  min     = "0"
  max     = "10.5"
  oninput = "enterThing.value = sliderThing.value"
>

修改后输入0~10.5范围内的整数、小数都会被判定为有效,红框自动消失,空值时仍会触发必填校验显示红框,完全符合需求。

内容的提问来源于stack exchange,提问作者Jim O.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 02:21:02