对于我的Jquery,我使用类来定义该对象上使用的验证类型。例如:
<input class="NUMBER_VALIDATE" type="text" maxlength="80" name="PRICE" id="PRICE" value="PRICE">
Jquery检查所有NUMBER_VALIDATE以确保它们是数字,然后显示错误。我也想使用PHP来做这个服务器端。
因此,这就是我需要的:PHP将循环遍历$ _POST变量,然后检查创建$ _POST的每个元素(如果其中有NUMBER_VALIDATE)。如果是,并且它不是数字,则不会将其添加到数据库中。
我的名字&amp; ID是相同的。
因此我需要这样的事情:
foreach($_POST)
{
GET THE NAME USED FOR THE POST VAR, (for example PRICE)
USE PRICE TO LOCATE THE ELEMENT, AND GET THE CLASS
IF THE CLASS IS NUMBER_VALIDATE, VALIDATE THE $_POST FOR NUMBERS
}
答案 0 :(得分:1)
$_POST
不传递课程。要使用类,您必须使用Javascript验证:
$("form").submit(function(e){
for(var i = 0; i < $(this).find(".NUMBER_VALIDATE").length; i++)
{
if(isNaN($($(this).find(".NUMBER_VALIDATE")[i]).val())
{
//test failed
e.preventDefault();
return false;
}
}
});
请注意,人们可以禁用Javascript,因此在这种情况下此代码不会运行。我建议你找到一种不同的方法来验证PHP。
表单传递给PHP的唯一内容是名称和值。这可能是您应该对验证进行硬编码的少数几次之一,而不是依赖于动态变量来执行此操作。
答案 1 :(得分:-1)
只需在名称的开头添加一个字符串,然后在处理时删除该字符串
<input class="NUMBER_VALIDATE" name="NUMBER-VALIDATE-PRICE" id="PRICE" value="100.00">
foreach($_POST as $key => $value) {
if(stripos($key, "NUMBER-VALIDATE-") > -1) {
// do something
}
}