Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

(Consulta) modificar, ampliar, optimizar validación de formulario

Estas en el tema de (Consulta) modificar, ampliar, optimizar validación de formulario en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, Me gustaría que me indiquen en que puedo trabajar para mejorar esta clase para validar un formulario con php: Código PHP: <?php class  Validator  ...
  #1 (permalink)  
Antiguo 22/03/2011, 22:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
(Consulta) modificar, ampliar, optimizar validación de formulario

Hola,

Me gustaría que me indiquen en que puedo trabajar para mejorar esta clase para validar un formulario con php:

Código PHP:

<?php
class Validator {

    var 
$errors// Variable que almacena errores

   
    // Este método no evita  Inyecciones SQL
    // Usar con addslashes() (Este es un tema a tratar)
    
function validateGeneral($theinput,$description ''){
        if (
trim($theinput)) {
            return 
true;
        }else{
            
$this->errors[] = $description;
            return 
false;
        }
    }
    
    
// Valida solo texto
    
function validateTextOnly($theinput,$description ''){
        
$result preg_match("/^[A-Za-z0-9-áéíóú\ ]+$/"$theinput );
        if (
$result){
            return 
true;
        }else{
            
$this->errors[] = $description;
            return 
false
        }
    }

    
// Valida solo texto, no se permiten espacios
    
function validateTextOnlyNoSpaces($theinput,$description ''){
        
$result preg_match("/^[A-Za-z0-9]+$/"$theinput );
        if (
$result){
            return 
true;
        }else{
            
$this->errors[] = $description;
            return 
false
        }
    }
        
    
// Valida correo electrónico
    
function validateEmail($themail,$description ''){
        
$permitidos "a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.";
        
$result preg_match("/^[$permitidos]+$/"$themail);
        if (
$result){
            return 
true;
        }else{
            
$this->errors[] = $description;
            return 
false
        }
            
    }
    
    
// Valida sólo números
    
function validateNumber($theinput,$description ''){
        if (
is_numeric($theinput)) {
            return 
true
        }else{ 
            
$this->errors[] = $description;
            return 
false;
        }
    }
    
    
// Valida fechas
    
function validateDate($thedate,$description ''){

        if (
strtotime($thedate) === -|| $thedate == '') {
            
$this->errors[] = $description;
            return 
false;
        }else{
            return 
true;
        }
    }
    
    
// Compruebe si los errores se han encontrado
    
function foundErrors() {
        if (
count($this->errors) > 0){
            return 
true;
        }else{
            return 
false;
        }
    }

    
// Devuelve una cadena que contiene una lista de errores encontrados,
    // Separado por un delimitador
    
function listErrors($delim ' '){
        return 
implode($delim,$this->errors);
    }
    
    
// Agregar algo a la lista de errores manualmente
    
function addError($description){
        
$this->errors[] = $description;
    }    
        
}
?>
  #2 (permalink)  
Antiguo 22/03/2011, 22:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Frameworks y PHP orientado a objetos
  #3 (permalink)  
Antiguo 23/03/2011, 02:43
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: (Consulta) modificar, ampliar, optimizar validación de formulario

Que tal opzina,

Deberias utilizar PHP 5, osea declarar la visibilidad, podrias ajustar un poco el código(a veces es mejor negar primero) y tambien podrias documentar correctamente, algo asi:

Código PHP:
Ver original
  1. class Validator
  2. {
  3.    /**
  4.     * Variable que almacena errores
  5.     * @var array
  6.     */
  7.     protected $_errors;
  8.    
  9.    /**
  10.     * Este método no evita  Inyecciones SQL
  11.     * Usar con addslashes() (Este es un tema a tratar)
  12.     * @param string $theInput
  13.     * @param string $description
  14.     * @return boolean
  15.     */
  16.     public function validateGeneral($theinput, $description = '')
  17.     {
  18.         if (!trim($theinput)) {
  19.             $this->_errors[] = $description;
  20.             return false;            
  21.         }
  22.         return true;
  23.     }
  24.  
  25.     /**
  26.      * Valida solo texto
  27.      * @param string $theInput
  28.      * @param string $description
  29.      * @return boolean
  30.      */  
  31.     public function validateTextOnly($theinput, $description = '')
  32.     {
  33.         if (!preg_match("/^[A-Za-z0-9-áéíóú\ ]+$/", $theinput)) {
  34.             $this->_errors[] = $description;
  35.             return false;            
  36.         }
  37.         return true;
  38.     }
  39.  
  40.     ...
  41. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 23/03/2011, 04:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) modificar, ampliar, optimizar validación de formulario

Muchas Gracias,

Empiezo con lo que me indicas y voy mostrando y compartiendo.

Saludos.

Etiquetas: modificar, php, formulario, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.