Io farei in modo che il tuo script, almeno, accetti una sintassi del genere:
Codice PHP:
$cap=valida_input( array(
"source"=>"post",
"field"=>"cap",
"label"=>"CAP",
"type"=>"natural",
"required"=>true, //BOOLEAN!!!!
"minLength"=>5, //INTERO!!!
"maxLength"=>5, //INTERO
"minValue"=>NULL, //valore di default!!
"maxValue"=>NULL //valore di default
), $errore);
perchè
è uno "standard" abbastanza ridicolo nella programmazione. Per il resto non mi esprimo, funzionerà per quello che è stata pensata non lo metto in dubbio (dovresti mettere dei test in phpunit d'esempio anche), ma l'approccio procedurale ha i suoi limiti anche nel capire quello che fa la funzione.
Un pò di spunti: usa delle costanti invece di stringhe "naturale" o simili, usa array per definire dei range, permetti dei callback per validazioni custom, permettere di concatenare le validazioni (inutile forse questa), non mettere la stringa di errore nella funzione ma richiedere il messaggio in input, non tornare un errore ma lanciare una exception apposita.. .etc