value = ''; $this->rules = array(); $this->messages = array(); } # zet de variabele onvoorwaardelijk public function setValue($value) { $this->value = $value; } # zet de regels waarin de gesette var moet voldoen public function setRules($rules) { $this->rules = $rules; } # laat de validator zijn werk doen # return true wanneer geaccepteerd, of een array met foutmeldingen public function run() { foreach($this->rules AS $rule) { if(method_exists($this, $rule) { $val = $rule($this->value); if($val !== true) { $this->messages[] = $val; } } } return (count($this->messages) > 0) ? $this->messages : true; } /** * validatie regels * deze retourneren allen of TRUE of een fout(code?) * * je zou deze methoden wellicht in een (of meerdere, bijvoorbeeld per veldtype) * aparte classes kunnen stoppen */ # is de value groter dan 0 private function unsigned() { return $this->value > 0 ? true : ERR_UNSIGNED; } # is de value een integer private function is_integer() { return is_int($this->value) ? true : ERR_INTEGER; } # enzovoorts... } ?>