我最近将一个输入表单从一个文本切换到了一个textarea,这样我就可以有多行文本。 除非我去验证,否则表单工作正常。如果它是一条线,是没有问题的,但是当我进入换到第二行文字,我从我的表单验证得到一个错误(仅字母和数字被允许)这里是我的代码:在一个文本区域上验证php表格
private function validate_alnum($var, $min=0, $max=0, $required=false, $err="") {
if($required==false && strlen($this->source[$var]) == 0) {
return true;
}
if(isset($this->source[$var])){
if(strlen($this->source[$var]) < $min) {
$this->errors[$var] = $err . ' is too short. It has to be at least '.$min. ' character(s)';
} elseif(strlen($this->source[$var]) > $max) {
$this->errors[$var] = $err . " is too long. It can't be more than ".$max. " characters";
} elseif(!preg_match("/^[a-zA-Z0-9 -.:,]*$/", $this->source[$var])) {
$this->errors[$var] = $err . ' is invalid. Only letters and numbers are allowed';
}
}
}
你的函数需要太多的参数,这意味着它做的很多。请考虑为其他功能分配功能。 –