diff options
author | ramon <ramongomez@us.es> | 2013-04-09 12:59:23 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2013-04-09 12:59:23 +0000 |
commit | c78cd32709a2efaf3e5d488147be85f62de50544 (patch) | |
tree | 14bb96289e5ed424ad0b17cbe0f1a3649d78c783 /admin | |
parent | 121946bca95b039d20f49eba6b0f21758ea24342 (diff) |
#452 #585: Mejorar la validación de datos en formulario de propiedades de aulas:
* Comprobar direcciones IP (en general).
* Comprobar URL (nueva).
* Comprobar consistencia en datos de validación (solo este formulario).
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3737 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
6 files changed, 89 insertions, 48 deletions
diff --git a/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js b/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js index 8f510866..db27cc88 100644 --- a/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js +++ b/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js @@ -1,12 +1,12 @@ //________________________________________________________________________________________________________ // -// Fichero de idiomas javascript: propiedades_aulas_esp.js -// Idioma: Español +// Fichero de idiomas javascript: propiedades_aulas_cat.js +// Idioma: Catalán //________________________________________________________________________________________________________ TbMsg=new Array; TbMsg[0]="Debe introducir un nombre para este aula"; TbMsg[1]="Debe introducir un número de puestos para este aula"; -TbMsg[2]="ATENCIÓN.- Este aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?"; +TbMsg[2]="ATENCIÓN.- Esta aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?"; TbMsg[3]="La hora de comienzo del intervalo de reservas debe ser menor que la hora final"; TbMsg[4]="La direccion del router no es valida"; TbMsg[5]="La mascara de red no es valida"; @@ -16,4 +16,7 @@ TbMsg[8]="Modo multicast no es valido"; TbMsg[9]="La dirección multicast no es valida"; TbMsg[10]="El puerto de multicast no es valida"; TbMsg[11]="La velocidad de multicast no es válida, sólo números"; +TbMsg[12]="La dirección IP del servidor DNS no es válida"; +TbMsg[13]="La URL del servidor Proxy no es válida"; +TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js index fa7b8bfc..7bd40d8c 100644 --- a/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js @@ -9,4 +9,14 @@ TbMsg[1]="You must introduce a number of places for this lab"; TbMsg[2]="WARNING.- This lab contain others groups or labs. If you remove it, you will also remove all these. ¿ Are you sure ?"; TbMsg[3]="Time for begining of reserves periode must be smaller than final time"; TbMsg[4]="Multicast speed is not valid, use numbers only"; +TbMsg[5]="Netmask is not valid"; +TbMsg[6]="P2P mode is not valid"; +TbMsg[7]="El tiempo (segundos ) de semillero despues de la descarga p2p no es valida"; +TbMsg[8]="Multicast mode is not valid"; +TbMsg[9]="Multicast IP address is not valid"; +TbMsg[10]="Multicast port is not valid"; +TbMsg[11]="Multicast speed is not valid, use numbers only"; +TbMsg[12]="DNS server IP address is not valid"; +TbMsg[13]="Proxy server URL is not valid"; +TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js index 8f510866..efdc4a57 100644 --- a/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js @@ -6,7 +6,7 @@ TbMsg=new Array; TbMsg[0]="Debe introducir un nombre para este aula"; TbMsg[1]="Debe introducir un número de puestos para este aula"; -TbMsg[2]="ATENCIÓN.- Este aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?"; +TbMsg[2]="ATENCIÓN.- Esta aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?"; TbMsg[3]="La hora de comienzo del intervalo de reservas debe ser menor que la hora final"; TbMsg[4]="La direccion del router no es valida"; TbMsg[5]="La mascara de red no es valida"; @@ -16,4 +16,7 @@ TbMsg[8]="Modo multicast no es valido"; TbMsg[9]="La dirección multicast no es valida"; TbMsg[10]="El puerto de multicast no es valida"; TbMsg[11]="La velocidad de multicast no es válida, sólo números"; +TbMsg[12]="La dirección IP del servidor DNS no es válida"; +TbMsg[13]="La URL del servidor Proxy no es válida"; +TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación"; diff --git a/admin/WebConsole/jscripts/propiedades_aulas.js b/admin/WebConsole/jscripts/propiedades_aulas.js index 61126a6f..947ab1d5 100644 --- a/admin/WebConsole/jscripts/propiedades_aulas.js +++ b/admin/WebConsole/jscripts/propiedades_aulas.js @@ -93,26 +93,36 @@ function comprobar_datos(){ return true; } +/* HORA DE RESERVA TEMPORALMENTE DESHABILITADA. if (parseInt(document.fdatos.horaresevini.value)>parseInt(document.fdatos.horaresevfin.value)) { alert(TbMsg[3]); validation_highlight (document.fdatos.horaresevini); validation_highlight (document.fdatos.horaresevfin); return(false); } +*/ var form = document.fdatos; + // Si se activa la validación, comprobar que se incluyen los datos adecuados. + if (form.validacion.options[form.validacion.selectedIndex].value == 1 && (form.paginalogin.value == '' || form.paginavalidacion.value == '')) { + alert(TbMsg[14]); + validation_highlight (document.fdatos.paginalogin); + validation_highlight (document.fdatos.paginavalidacion); + return(false); + } + // Validación general de datos del formulario. return validate (form.nombreaula, validate_notnull, 0) && validate (form.puestos, validate_number_notnull, 1) && validate (form.router, validate_ipadress_notnull, 4) && - validate (form.netmask, validate_ipadress_notnull, 5) && + validate (form.netmask, validate_ipadress_notnull, 5) && + validate (form.dns, validate_ipadress, 12) && + validate (form.proxy, validate_url, 13) && validate (form.modp2p, validate_notnull, 6) && - validate (form.timep2p, validate_number_notnull, 7) && - validate (form.modomul, validate_notnull, 8) && - validate (form.ipmul, validate_ipadress_notnull, 9) && - validate (form.pormul, validate_notnull, 10) && + validate (form.timep2p, validate_number_notnull, 7) && + validate (form.modomul, validate_notnull, 8) && + validate (form.ipmul, validate_ipadress_notnull, 9) && + validate (form.pormul, validate_notnull, 10) && validate (form.velmul, validate_number_notnull, 11); - - return(true); } //________________________________________________________________________________________________________ diff --git a/admin/WebConsole/jscripts/validators.js b/admin/WebConsole/jscripts/validators.js index e0359505..11ace4dc 100644 --- a/admin/WebConsole/jscripts/validators.js +++ b/admin/WebConsole/jscripts/validators.js @@ -17,11 +17,18 @@ */ +// Validar expresión regular. function validate_expr(value, epx) { var expr = new RegExp(epx); return (value.search(expr) == 0); } +// Validar expresión ignorando diferencias entre mayúsculas y minúsculas. +function validate_expr_nocase(value, epx) { + var expr = new RegExp(epx, "i"); + return (value.search(expr) == 0); +} + function validate_number(value) { return validate_expr(value, "^\\d*$"); } @@ -42,15 +49,29 @@ function validate_alphanum_notnull(value) { return validate_number(value) && validate_notnull(value); } - +// Validar dirección IPv4. function validate_ipadress(value) { - return validate_expr(value, "^\\d+\\.\\d+\.\\d+\\.\\d+$"); + var octet = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; + var regex = '^((?:' + octet + '\\.){3}' + octet + ')?$'; + return validate_expr(value, regex); } function validate_ipadress_notnull(value) { return validate_ipadress(value) && validate_notnull(value); } +// Validar URL. +function validate_url(value) { + var octet = '(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; + var regex = '^((ht|f)tps?:\/\/(([a-z0-9]+([\.\-a-z0-9]+)?\.[a-z]{2,5})|((' + octet + '\\.){3}' + octet + '))(:[0-9]{2,5})?(\/.*)?)?$'; + return validate_expr_nocase(value, regex); + +} + +function validate_url_notnull(value) { + return validate_url(value) && validate_notnull(value); +} + function validate_nameimagefile(value) { return validate_expr(value, "^[0-9a-zA-Z]*$"); } @@ -61,3 +82,4 @@ function validation_highlight(field) { field.style.border = "1px solid red"; field.style.background = "#fee"; } + diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php index f9d7fb12..dc644246 100644 --- a/admin/WebConsole/propiedades/propiedades_aulas.php +++ b/admin/WebConsole/propiedades/propiedades_aulas.php @@ -376,41 +376,34 @@ function abrir_ventana(URL){ ?> </TR> <!--------------------------------------------------------------UHU comprobar si se requiere validacion --------------------------------------------------------------------------> - - <TR> - <TH align=center> <?echo $TbMsg[30]?> </TH> - <? - if ($opcion==$op_eliminacion) - echo '<TD colspan=3>'.(($validacion == 1)?"Si":"No").'</TD>'; - else{ - echo '<TD colspan=3>'; - $validaciones="1=Si".chr(13); - $validaciones.="0=No"; - echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</TD>'; - } - - ?> - </TR> - <TR> - <TH align=center> <?echo $TbMsg[31]?> </TH> - <? - if ($opcion==$op_eliminacion) - echo '<TD colspan=3>'.$paginalogin.'</TD>'; - else - echo '<TD colspan=3><INPUT class="formulariodatos" name=paginalogin type=text value="'.$paginalogin.'"></TD>'; - ?> - </TR> - <TR> - <TH align=center> <?echo $TbMsg[32]?> </TH> - <? - if ($opcion==$op_eliminacion) - echo '<TD colspan=3>'.$paginavalidacion.'</TD>'; - else - echo '<TD colspan=3><INPUT class="formulariodatos" name=paginavalidacion type=text value="'.$paginavalidacion.'"></TD>'; - ?> - </TR> - - + <tr> + <th align="center"> <?php echo $TbMsg[30]?> </th> + <?php if ($opcion==$op_eliminacion) + echo '<td colspan="3">'.(($validacion == 1)?"Si":"No").'</td>'; + else { + echo '<td colspan="3">'; + $validaciones="1=Si".chr(13); + $validaciones.="0=No"; + echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</td>'; + } + ?> + </tr> + <tr> + <th align="center"> <?php echo $TbMsg[31]?> </th> + <?php if ($opcion==$op_eliminacion) + echo '<td colspan="3">'.$paginalogin.'</td>'; + else + echo '<td colspan="3"><input class="formulariodatos" name="paginalogin" style="width:200" type="text" value="'.$paginalogin.'"></td>'; + ?> + </tr> + <tr> + <th align="center"> <?php echo $TbMsg[32]?> </th> + <?php if ($opcion==$op_eliminacion) + echo '<td colspan="3">'.$paginavalidacion.'</td>'; + else + echo '<td colspan="3"><input class="formulariodatos" name="paginavalidacion" style="width:200" type="text" value="'.$paginavalidacion.'"></td>'; + ?> + </tr> <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> </TABLE> |