所以我有一个html表单的输入名称为"vin[]"。输入是一个数组。这是因为我给了用户一个点击按钮的选项,在点击按钮时,我添加了一个名称为"vin[]"的输入克隆。我这样做是因为我正在收集车辆的vin号码,用户需要包含多个车辆的选项。
所以我的问题是:在我的vin号数组中,我如何验证每个vin号恰好是17个字符?我只希望表单提交,如果所有vin的用户提供的满足这个标准。
我知道我必须遍历我的数组,并告诉程序显示一个错误消息,如果任何vins不是17个字符,我想使用邮件函数发送电子邮件,如果所有提供的vins都是17个字符..以下是我迄今为止的:
foreach ($_POST['vin']) as $vin_value ) {
if(strlen($vin_value) != 17) {
echo "VIN is not 17 digits";
echo "VIN is " . strlen($vin_value) . " digits";
echo "VIN value is: " . $vin_value;
} else {
mail($admin_email, "Auto Quote Request", $email_body);
echo "Thank you for contacting us!";
}
}
注意:与上述通知相反,此问题没有正确/相关的重复答案。这个问题的唯一正确答案在这里
数一数有几个ok:
$ok = 0;
foreach(...) {
if (strlen($vin_value) == 17) {
$ok++;
}
}
if ($ok == count($_POST['vin'])) {
... all of them are ok
}