【发布时间】:2017-06-14 08:36:28
【问题描述】:
我有一些 trubbel 试图制作一个 PHP 脚本来检查任何文本(或其他)输入是否为空,同时检查任何文件输入是否为空。
代码像某些框架一样使用 $rule 来编写输入规则
示例:
$rule = array(
"title" => "required|minLength:5",
"myFile" => "required"
);
我有这个函数,每个输入都有循环
foreach ($rules as $item => $ruleset) {
// required|email|min:8
$ruleset = explode('|', $ruleset);
foreach ($ruleset as $rule) {
$pos = strpos($rule, ':');
if ($pos !== false) {
$parameter = substr($rule, $pos + 1);
$rule = substr($rule, 0, $pos);
}
else {
$parameter = '';
}
// Example of this output: validateEmail($item, $value, $param)
$methodName = 'validate' . ucfirst($rule);
$value = isset($data[$item]) ? $data[$item] : NULL;
if (method_exists($this, $methodName)) {
$this->$methodName($item, $value, $parameter) or $valid = false;
}
}
}
// Validate the $value of $item to see if it is present and not empty
private function validateRequired ($item, $value)
{
if (empty($value))
{
$this->errors[$item][] = 'The ' . $item . ' field is required';
return false;
}
return true;
}
它可以工作,但我们知道,需要使用 $_FILES 检查文件输入,
我能做什么???
【问题讨论】:
-
甚至没有接近解决方案。太宽泛了
标签: php forms validation file-upload