是否有办法防止负数但接受小数?我使用PHP和HTML
<input type="number" min="0" id="Student" name="course[]" value="<?php echo $_POST['course'][3]; ?>"/></p>
&#13;
答案 0 :(得分:1)
您的代码理论上有效。它可以防止负数并接受小数。
我认为你真正要问的是:Is there a float input type in HTML5?
最佳答案表明你会写:
<input type="number" min="0" step="0.01" name="course[]">
最重要的不是客户端验证,而是服务器端验证。在接受此输入的PHP代码中,您必须验证输入是否有效,如下所示:
if(is_numeric($_POST['course'][3]) && floatval($_POST['course'][3]) >= 0) {
// The rest of your code.
}
要为所有课程执行此操作,您很可能会写:
foreach($_POST['course'] as $k => $v) {
if(!(is_numeric($v) && floatval($v) >= 0)) {
echo "Input needs to be a number.";
break;
}
// Process the course $_POST['course'][$k] here.
}
你必须在服务器端检查它是否是一个数字的主要原因是某人对浏览器有一定的了解只能打开浏览器控制台并编辑输入属性删除类型=“数字”,允许他几乎发送任何文本。
拥有更多知识的人可以向您发送cURL请求。