microTECHing
7Nov/110

Problemas entre mootools y API de facebook en Internet Explorer

Nos hemos encontrado con el problema de que la librería de validaciones de joomla basada en mootools había dejado de funcionar en IE7 y IE8 silenciosamente.

Y decimos silenciosamente, porque no había ningún error javascript en la consola de Internet Explorer.

Esto nos ocurría en una web en joomla que cargaba la librería 1.12 de mootools y el 'validate.js' del framework de Joomla 1.5 basado en mootools.

Eliminando código a lo bestia de nuestro 'index.php', dimos con que el problema estaba en la carga del API de facebook.

Estábamos cargando el api en el 'body' de la siguiente manera:

<div id="fb-root"></div>
<script src="http://connect.facebook.net/es_ES/all.js"></script>
<script type="text/javascript">
        FB.init({appId: '116864551700695', status: true, cookie: true, xfbml: true});
</script>

Para solucionar el problema, dejamos en el 'body' solo el div "fb-root', y el javascript nos lo llevamos al 'head' de esta forma:

<script language="javascript" type="text/javascript" src="http://connect.facebook.net/es_ES/all.js"></script>
<script type="text/javascript">
window.addEvent('domready', function() {
        FB.init({appId: '116864551700695', status: true, cookie: true, xfbml: true});
});
</script>

Lanzando el fb.init cuando el dom esta completo, la validación de mootools vuelve a funcionar correctamente, y las funciones de facebook, también.

Espero os ayude!

13Sep/113

Validar required en inputs de tipo file en Joomla

Si has llegado a este post posiblemente es que has observado que el validador mediante mootools que trae Joomla por defecto, no funciona bien con los inputs de tipo ‘file’.

Para solucionarlo, añadiendo esta funcionalidad, debemos editar el archivo ‘media/system/js/valídate.js’ y en la línea 87 reemplazar el primer ‘if’ por este:

if ($(el).hasClass('required')) {
    if (!($(el).getValue()) && ($(el).type != 'file')) {// Exluimos los inputs de type 'file'
        this.handleResponse(false, el);
        return false;
    }
    // Validación de los inputs de type 'file'
    if (($(el).type == 'file') && ($(el).value == '')){
        this.handleResponse(false, el);
        return false;
    }
}

Esperamos que os sea de ayuda.

20Mar/1115

Clase para validar CIFs y NIFs por javascript

Con esta clase javascript, la validación de nif y/o cif y/o tarjetas de residencia será pan comido.

Controla el formato del valor que queramos mediante expresiones regulares, y comprueba que la letra se corresponda con el número introducido.

Aquí tenéis el fichero para descargar: nif_cif_validator

Y aquí os dejamos el código completo:

20Mar/115

Clase para validar fechas y horas por javascript

Con esta clase javascript, la validación de fechas y/o horas será pan comido.

Se controla si la fecha es en formato europeo o de estados unidos. Controla el número de días que tiene casa mes, e incluso controla el número de dias del mes de febrero, según si el año es bisiesto o no.

Aquí teneis el fichero para descargar: date_validator

Y aquí os dejamos el código completo: