HTML5 验证检查输入大于 0

标签 html validation

我有一个输入字段,它应该 大于 0 ,我使用 min="0.00000001" 来验证输入数字是否大于 0。

<input type="number" step="0.00000001" min="0.00000001" name="price" value="[%price%]" />

由于我不想指定 stepmin ,我只想验证输入数字是否大于 0。

有没有更好的方法来比较输入?例如像 input > 0min > 0
我搜索了一种解决方案,但如果不使用 step + min 就找不到解决方案。

只使用 html5,我们可以这样做吗?感谢您的帮助

<form method="post">
  <b>Number Input:</b>
  <input type="number" step="0.00000001" min="0.00000001" name="number" value="" />
  <input type="submit" class="submit" value="Save" />
</form>

最佳答案

在没有 JavaScript 的纯 HTML5 中无法做到这一点。如评论中所述,不能使用 pattern 属性。

但这可以使用简单的 JavaScript 代码处理,通过 oninput 属性调用,并使用 setCustomValidity :

<form method="post">
  <b>Number Input:</b>
  <input type="number" step="any" min="0"  name="number" value="" 
         oninput="check(this)" />
  <input type="submit" class="submit" value="Save" />
</form>
<script>
 function check(input) {
   if (input.value == 0) {
     input.setCustomValidity('The number must not be zero.');
   } else {
     // input is fine -- reset the error message
     input.setCustomValidity('');
   }
 }
</script>

关于HTML5 验证检查输入大于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785821/

相关文章:

JavaScript - 为什么我的函数不能容纳超过几个字符的内容?

javascript - 使用 Javascript 对 XML 数据进行排序

JavaScript/HTML onSubmit ="return Validation()"问题

validation - 如何覆盖 OmniFaces 默认验证/转换错误消息?

validation - maven pom 验证因依赖而失败

javascript - 如何使用 JavaScript 拦截 HTML5 输入验证?

javascript - 使用 JavaScript 将样式表附加到 html 文档的头部

html - 文本前几个词后的空闲空间

javascript - 图标和 manifest.json

ruby-on-rails - rails : validation for top level domain only