volviendo al tema, hay una persona que se esta tragando discusiones innecesarias y sigue buscando una solucion, simplemente trate de dar mi punto de vista, de ahorrar esfuerzos, aqui propongo mi solucion:
podrias declarar unas reglas, de esta forma:
Código PHP:
$reglas = array(
'nombre_campo' => 'tipo_campo',
'correo' => 'email',
'contrasena' => 'password'
);
Código PHP:
class Form {
protected $data;
protected $rules;
public function __construct(array $rules, array $data = array()) {
$this->rules = $rules;
if(empty($data)) {
$data = $_POST;
$this->data = $data;
}
public function validate() {
foreach($this->data as $field => $value) {
foreach($this->rules as $name => $type) {
if($field == $name) {
switch($type) {
case 'email':
if(!$this->validateEmail($value))
return false;
case 'password':
if(!$this->validatePassword($value))
return false;
}
}
}
}
return true;
}
public function validateEmail($value) {
return true;
}
public function validatePassword($value) {
return true;
}
}
esta cascado aqui en un momento, habria que pulirlo supongo:
Código PHP:
//luego cuando recibes el formulario en este script podrias hacer algo asi:
if(isset($_POST['submit'])) {
$reglas = array(
'nombre_campo' => 'tipo_campo',
'correo' => 'email',
'contrasena' => 'password'
);
$form = new Form($reglas, $_POST);
if($form->validate() == true) {
echo 'formulario valido';
}
else
echo 'errores en el formulario';
}
ese es mi aporte, saludos.