I prosiłbym o opinię oraz porady np: co trzeba/można zmienić.
<? class FormValidator { $this->error = $error; foreach($filter as $key => $value) { $this->filter($name, $key, $value); } } private function filter($name, $filter, $par = FALSE) { switch($filter) { case 'req' : $this->set_error('Pole jest wymagane i nie może pozostać puste.'); } break; case 'email' : if(!filter_var($name, FILTER_VALIDATE_EMAIL) || $par == TRUE) { $this->set_error('Podany adres e-mail jest niepoprawny'); } break; case 'url' : if(!filter_var($name, FILTER_VALIDATE_URL) || $par == TRUE) { $this->set_error('Podany adres URL jest niepoprawny'); } break; case 'num' : $this->set_error('Ple musi zawierać wyłącznie znaki numeryczne'); } break; case 'alfa' : $this->set_error('Ple musi zawierać wyłącznie litery'); } break; case 'alnum' : $this->set_error('Ple musi zawierać wyłącznie znaki alfanumeryczne'); } break; case 'max' : $this->set_error('Pole musi mieć maxymalną długość '.$par.'.'); } break; case 'min' : $this->set_error('Pole musi mieć minimalną długość '.$par.'.'); } break; case 'length' : $this->set_error('Pole musi mieć mieć długość '.$par.'.'); } break; /* ORAZ INNE FILTRY */ } } private function set_error($str) { } public function get_error($str) { return $this->errors[$str]; } public function get_errors() { foreach($this->errors as $err) { } } public function is_valid() { } } ?>
Przykład użycia:
include_once('class.form_validator.php'); $val = new FormValidator; if($val->is_valid()) { }else { $val->get_errors(); }