/** * Método encargado de validar datos * @param Array $array Datos a validar * @return Boolean true = si los datos son validos, false = si son invalidos */ public static function validar($array) { // Validación de la clave if (isset($array['clave'])) { if (($erro = Validaciones::validarPassLogin($array["clave"])) !== true) { Session::addArray('feedback_negative', $erro); } } else { Session::add('feedback_negative', 'No se ha indicado la clave'); } // Validación del email if (isset($array['email'])) { if (($erro = Validaciones::validarEmail($array["email"])) !== true) { Session::addArray('feedback_negative', $erro); } } else { Session::add('feedback_negative', 'No se ha indicado el email'); } // Si hay errores devolvemos false if (Session::get('feedback_negative')) { return false; } // Si no hay errores devolvemos true return true; }
public static function validarEntradaLogin() { $errores = []; if (!$_POST) { $errores['generic'][] = "No he recibido datos"; return Validaciones::resultado($errores); } $_POST = Validaciones::sanearEntrada($_POST); if (strpos($_POST['nick'], "@") === false) { if (($err = Validaciones::validarNick($_POST['nick'])) !== true) { $errores['nick'] = $err; } } else { if (($err = Validaciones::validarEmail($_POST['nick'])) !== true) { $errores['nick'] = $err; } } if (($err = Validaciones::validarPassLogin($_POST['passwd'])) !== true) { $errores['passwd'] = $err; } return Validaciones::resultado($errores); }
/** * Método estatico de inserción de registros en persona * + FECHA DE ALTA * @return [type] [description] */ public static function insert($actualiza = false) { // Comprobamos que los campos requeridos están sino error if (isset($_POST["nombre"]) && isset($_POST["apellidos"]) && isset($_POST["email"])) { // variable del método para poder hacer un rapido bindeo de parametros y errores $errores = []; $campos = []; // validamos el nombre if (isset($_POST["nombre"])) { if (($err = Validaciones::validarNombre($_POST["nombre"])) !== true) { $errores["nombre"] = $err; } else { // si hay nombre lo ponemos en un array $campos[":nombre"] = $_POST["nombre"]; } } if (isset($_POST["apellidos"])) { // Validamos los apellidos if (($err = Validaciones::validarApellidos($_POST["apellidos"])) !== true) { $errores["apellidos"] = $err; } else { // si son validos los apellidos lo preparamos para el bindeo $campos[":apellidos"] = $_POST["apellidos"]; } } if (isset($_POST["email"])) { // validamos el email if (($err = Validaciones::validarEmail($_POST["email"])) !== true) { $errores["email"] = $err; } else { if (self::comprobarUnique("email", $_POST["email"]) === true) { $errores["email"][] = "El email insertado ya está registrado."; } else { $campos[":email"] = $_POST["email"]; } } } if (isset($_POST["direccion"])) { // Si existe la dirección se valida if (($err = Validaciones::validarDireccion($_POST["direccion"])) !== true) { $errores["direccion"] = $err; } else { // si existe, preparamos el bindeo $campos[":direccion"] = $_POST["direccion"]; } } // si existe la provincia if (isset($_POST["provincia"])) { // se valida la provincia if (($err = provinciaModel::getProvinciaByNombre($_POST["provincia"])) !== true) { $errores["provincia"][] = "La provincia no existe"; } else { $prov = ProvinciaModel::getProvinciaId($_POST["provincia"]); $campos[":provincia"] = $prov[0]['id']; } } // si existe provincia // si exite el nif if (isset($_POST["nif"])) { // se valida if (($err = Validaciones::validarNif($_POST["nif"])) !== true) { $errores["nif"][] = "El DNI o NIF no cumple el formato."; } else { if (self::comprobarUnique("nif", $_POST["nif"]) === true) { $errores["nif"][] = "El DNI o NIF insertado ya está registrado."; } else { $campos[":nif"] = $_POST["nif"]; } } } // si existe telefono if (isset($_POST["telefono"])) { // se valida if (($err = Validaciones::validarTelefono($_POST["telefono"])) !== true) { $errores["telefono"] = $err; } else { // si existe la preparo $campos[":telefono"] = $_POST["telefono"]; } } // si exite newsletter if (isset($_POST["newsletter"])) { // se valida if (($err = Validaciones::validarTelefono($_POST["newsletter"])) !== true) { $errores["newsletter"] = $err; } else { // si existe la preparo $campos[":newsletter"] = $_POST["newsletter"]; } } // si no hay errores if (!$errores) { // Si ha pasado las validaciones y estoy actualizando paro aquí y devuelvo true. if ($actualiza === true) { return true; } try { // Montamos las consultas $fields = ""; $values = ""; // $values = " :campo1 :campo2 ..." // $fields = "campo1, campo2," foreach ($campos as $indice => $valor) { $values .= " " . $indice . ","; $aux = mb_substr($indice, 1); $fields .= $aux . ","; } // le quito la última coma de más $fields = trim($fields, ","); $values = trim($values, ","); // conexión a la base de datos $conn = Database::getInstance()->getDatabase(); // consulta de la base de datos // Añadimos a la consulta la fecha de alta formateada $fecha = "'" . date("Y-m-d") . "'"; $ssql = "INSERT INTO persona({$fields}, fecha_alta) VALUES ({$values}, {$fecha})"; // preparamos la consulta $query = $conn->prepare($ssql); $query->execute($campos); if ($query->rowCount() === 1) { return $conn->lastInsertId(); } return false; } catch (PDOException $e) { // Lanzamos una excepción a tratar en el controlador throw new Exception('Error con la base de datos'); } } else { // devolvemos los errores return Validaciones::resultado($errores); } } else { // si los campos requeridos no existen $errores['generic'][] = "Los campos requeridos no han sido introducidos"; return Validaciones::resultado($errores); } }
/** * Método que valida los datos a insertar en la base de datos * @param Array $array Datos a validar * @return Boolean True = si los datos son validos, False = sino lo son */ public static function validar($array) { // Si exite el campo lo validamos // Validación del nombre if (isset($array['nombre'])) { if (($erro = Validaciones::validarNombre($array["nombre"])) !== true) { Session::addArray('feedback_negative', $erro); } } else { Session::add('feedback_negative', 'El nombre no ha sido recicibido'); } // fin de las validaciones del nombre // Validación del apellido if (isset($array['apellido'])) { if (($erro = Validaciones::validarApellidos($array["apellido"])) !== true) { Session::addArray('feedback_negative', $erro); } } else { Session::add('feedback_negative', 'Los apellidos no han sido recicibido'); } // fin de las validaciones del apellido // Validación del email if (isset($array['email'])) { if (($erro = Validaciones::validarEmail($array["email"])) !== true) { Session::addArray('feedback_negative', $erro); } else { // comprobamos que el email no existe en la base de datos if (UsuarioModel::getEmail($array["email"])) { Session::add('feedback_negative', 'El email ya exite'); } } } else { Session::add('feedback_negative', 'El email no ha sido recicibido'); } // Fin de la validación del email //validación de las contraseñas if (isset($array['clave'])) { if (isset($array['claveRe'])) { // lógica de las validaciones if (($erro = Validaciones::validarPassAlta($array["clave"], $array['claveRe'])) !== true) { Session::addArray('feedback_negative', $erro); } } else { Session::add('feedback_negative', 'La clave repetida no se se ha recibido'); } } else { Session::add('feedback_negative', 'La clave no se se ha recibido'); } // fin de la validación de las contraseñas // Comprobación de de que no haya habido errores return Session::comprobarErrores(); }