HTML5 验证检查输入大于 0

itcoder 阅读:111 2024-10-24 08:47:37 评论:0

我有一个输入字段,它应该 大于 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
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号