示例#1
0
 function validarCampo($valorCampo, $parametros, $corregir = false, $showError = false)
 {
     if (isset($parametros['required'])) {
         $campoVacio = $valorCampo == '' ? false : true;
         if (!$campoVacio) {
             if ($showError) {
                 return array("errorType" => "required", "errorMessage" => "Campo Vacío");
             }
             return false;
         }
     }
     //Si el campo es diferente de vacío y no es required, se entra a verificar su valor.
     if ($valorCampo != '') {
         include_once 'core/general/ValidadorCampos.class.php';
         $miValidador = new ValidadorCampos();
         if (isset($parametros['minSize'])) {
             $valido = $miValidador->validarRango($valorCampo, $parametros['minSize'], 'minSize');
             if (!$valido) {
                 if (!$corregir) {
                     if ($showError) {
                         return array("errorType" => "minSize", "errorMessage" => "La longitud es menor a " . $parametros['minSize']);
                     }
                     return false;
                 }
                 $valorCampo = $miValidador->corregirRango($valorCampo, $parametros['minSize'], 'minSize');
             }
         }
         if (isset($parametros['min'])) {
             $valido = $miValidador->validarRango($valorCampo, $parametros['min'], 'min');
             if (!$valido) {
                 if ($showError) {
                     return array("errorType" => "min", "errorMessage" => "El número es menor a " . $parametros['min']);
                 }
                 return false;
             }
         }
         if (isset($parametros['maxSize'])) {
             $valido = $miValidador->validarRango($valorCampo, $parametros['maxSize'], 'maxSize');
             if (!$valido) {
                 if (!$corregir) {
                     if ($showError) {
                         return array("errorType" => "maxSize", "errorMessage" => "La longitud es mayor a " . $parametros['maxSize']);
                     }
                     return false;
                 }
                 $valorCampo = $miValidador->corregirRango($valorCampo, $parametros['maxSize'], 'maxSize');
             }
         }
         if (isset($parametros['max'])) {
             $valido = $miValidador->validarRango($valorCampo, $parametros['max'], 'max');
             if (!$valido) {
                 if ($showError) {
                     return array("errorType" => "max", "errorMessage" => "El número es mayor a " . $parametros['max']);
                 }
                 return false;
             }
         }
         if (isset($parametros['custom'])) {
             $valido = $miValidador->validarTipo($valorCampo, $parametros['custom']);
             if (!$valido) {
                 if ($showError) {
                     return array("errorType" => "custom", "errorMessage" => "El campo no es del tipo " . $parametros['custom']);
                 }
                 return false;
             }
         }
     }
     /*
      * Como se supone que ya superó la barrera de inyeccion SQl en la funcion limpiarSQL.
      * Se hace la corrección al insertar campos de texto con ' con el comodín ''. 
      */
     /*
      * "'" - simple 
      * "\0" - NULL
      * "\t" - tab
      * "\n" - new line
      * "\x0B" - vertical tab
      * "\r" - carriage return
      * " " - ordinary white space
      * "\x00" - NULL
      * "\x1a" - EOF
      */
     $valorCampo = trim($valorCampo);
     $valorCampo = str_replace('\'', '\'\'', $valorCampo);
     //Se propone guardar el string de los campos como carácteres html y luego si se necesita
     //Decodificarlos con htmlspecialchars_decode
     //$valorCampo = htmlspecialchars(nl2br($valorCampo),ENT_QUOTES);
     //http://php.net/manual/en/pdo.quote.php
     //http://php.net/manual/en/pdo.prepare.php
     return $valorCampo;
 }
示例#2
0
             $indice++;
         }
         // var_dump($enlaces,$titulosMenu,$titulosGrupoMenu);
     } else {
         header('Content-Type: text/json; charset=utf-8');
         echo json_encode(array("errorType" => "custom", "errorMessage" => "Sin servicios registrados para el usuario."));
         exit;
     }
     header('Content-Type: text/json; charset=utf-8');
     echo json_encode($enlacesJavascript);
     break;
 case 'guardarObservacion':
     $_REQUEST['llaves_primarias_valor'] = str_replace('\\_', '_', $_REQUEST['llaves_primarias_valor']);
     $_REQUEST['llaves_primarias_valor'] = $this->miConfigurador->fabricaConexiones->crypto->decodificar($_REQUEST['llaves_primarias_valor']);
     include_once 'core/general/ValidadorCampos.class.php';
     $miValidador = new ValidadorCampos();
     $valido = $miValidador->validarTipo($_REQUEST['observacion'], 'onlyLetterNumberSpPunt');
     $valido = $valido && $miValidador->validarTipo($_REQUEST['verificado'], 'boleano');
     if (!$valido) {
         header('Content-Type: text/json; charset=utf-8');
         echo json_encode(array("errorType" => "custom", "errorMessage" => "El campo observacion sólo debe contener elementos alfanuméricos, espacios, comas y punto."));
         exit;
     }
     $conexion = "docencia";
     $esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
     $cadenaSql = $this->sql->getCadenaSql('registrar_observacion', $_REQUEST);
     $resultado = $esteRecursoDB->ejecutarAcceso($cadenaSql, "insertar");
     if ($resultado) {
         header('Content-Type: text/json; charset=utf-8');
         echo json_encode(true);
         exit;