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) === -1 || $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;
}
}
?>