Ik ben begonnen aan een validator class te schrijven die ik op 1 website voor meerdere formulieren te schrijven, ik heb dit ongeveer als schets geschreven:
//index.php
$validator = new Validator();
$validator->validate($_POST);
//Validator.php
$data = [];
$errors = [];
public function validate($values){
$foreach($values as $key => $value){
switch($value){
case is_array($value);
$this->validate_array($key, $value);
break;
default:
$this->validate_text($key, $value);
}
}
}
public function validate_text($key, $value){
if(isset($value) && !empty($value)){
$this->data[$key] = $value;
} else {
$key = ucfirst($key);
$this->errors[$key] = "field for $key is required";
}
}
public function validate_array($key, $value){
$choices = array_filter($value);
if(!empty($choices) && count($choices) > 0) {
$this->data[$key] = $value;
} else {
$this->errors[$key] = "Make atleast one of the choices"
}
}
Ik heb sowieso nog een functie nodig die checkt of er errors zijn, zo ja dan zou ik een error functie de errors moeten kunnen laten returnen naar de html om ze daar te plaatsen, en een functie die alle $data die ontvangen is kan versturen. Voor de rest zie ik zo gauw even geen foutjes, maar die zullen er vast wel tussen zitten.