最近、入力フォームをテキストからテキストエリアに切り替えて、複数行のテキストを入力できるようにしました。 検証する場合を除いて、フォームは正常に動作しています。それは1行であれば、問題はありませんが、私は2番目の行に折り返さテキストを入力するとき、私はここに私のコードである(文字と数字のみが許可されている)私のフォームバリデータからエラーを取得する: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';
}
}
}
あなたの関数は、あまりにも多くのことを意味するパラメータが多すぎます。他の機能に機能を割り当てることを親切に考えてください。 –