Ver Mensaje Individual
  #12 (permalink)  
Antiguo 05/11/2011, 04:58
loluchis
 
Fecha de Ingreso: octubre-2011
Mensajes: 37
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Lógica para crear clase

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.