Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   RegularExpressionValidator (http://www.forosdelweb.com/f29/regularexpressionvalidator-311412/)

Nombela 27/06/2005 09:42

RegularExpressionValidator
 
HOla estoy implementado una expresion ke me controla que las fechas esten bien. Y hasta ahi todo bien pero cuando uso el firefox o el netscape este control no funciona. Alguien sabe alguna forma de solucionarlo???

gracias.

RicaJ0625 27/06/2005 12:51

Para estos navegadores el siempre validara del lado del servidor.

El codigo JavaScript no se envia a la pagina. Asi es que no hay forma. Tendrias que escribir tu propio codigo para poder validar esto del lado del Cliente. En la nueva version de .NET ya se incluye el codigo en la pagina.

Pero si lo que deseas es validar fechas puedes utilizar mi control, que es totalmente gratis.

El control es "RJS.PopCalendar 4.5 (3.1.8)(2.4.8)" que esta publicada en la siguiente ruta http://www.gotdotnet.com/Community/U...4-404799B17D77

Saludos,

Ricaute

xknown 27/06/2005 14:35

Eso se soluciona configurando adecuadamente la sección browserCaps en el web.config, revisa los úlitmos mensajes del siguiente link, ahí dejé un par de enlaces al respecto:

http://www.forosdelweb.com/f29/paneles-netscape-293081/

Saludos

RicaJ0625 27/06/2005 15:14

Si se hace esto saldria un error de Javascript ya que cuando se escribe el control a la pagina se hace de esta forma.

<span id="RequiredFieldValidator1" controltovalidate="Text1" errormessage="Required field!" evaluationfunction="RequiredFieldValidatorEvaluate IsValid" initialvalue="" style="color:Red;Z-INDEX:129;LEFT:280px;POSITION:absolute;TOP:449px;v isibility:hidden;">Required </span>

Codigo de la función que inicializa los validadores

function ValidatorOnLoad() {
if (typeof(Page_Validators) == "undefined")
return;
var i, val;
for (i = 0; i < Page_Validators.length; i++) {
val = Page_Validators[i];
if (typeof(val.evaluationfunction) == "string") {
eval("val.evaluationfunction = " + val.evaluationfunction + ";");
}
if (typeof(val.isvalid) == "string") {
if (val.isvalid == "False") {
val.isvalid = false;
Page_IsValid = false;
}
else {
val.isvalid = true;
}
} else {
val.isvalid = true;
}
if (typeof(val.enabled) == "string") {
val.enabled = (val.enabled != "False");
}
ValidatorHookupControlID(val.controltovalidate, val);
ValidatorHookupControlID(val.controlhookup, val);
}
Page_ValidationActive = true;
}


En IE se puede utilizar val.evaluationfunction
Netscape y Mozilla retornan undefined porque evaluationfunction esta definido dentro del HTML Tag

Para poder accesarlo desde Netscape o Mozilla se debe utilizar el getAttribute
y seria asi val.getAttribute("evaluationfunction") y tendria que cambiarse la linea asi typeof(eval(val.getAttribute("evaluationfunction"))) para que trabaje con Netscape o Mozilla o Firefox

Esto lo arreglan en la nueva version ya que hacen esto en la pagina:

<span id="RequiredFieldValidator1" style="color:Red;Z-INDEX:129;LEFT:280px;POSITION:absolute;TOP:449px;v isibility:hidden;">Required </span>

<script type="text/javascript">
<!--
var RequiredFieldValidator1 = document.all ? document.all["RequiredFieldValidator1"] : document.getElementById("RequiredFieldValidator1") ;
RequiredFieldValidator1.controltovalidate = "Text1";
RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
RequiredFieldValidator1.initialvalue = "";
RequiredFieldValidator1.errormessage="Required field!"
// -->
</script>

Saludos a todos

Ricaute

xknown 27/06/2005 16:00

A mi me funciona bien... (aunque creo que modifiqué el script que se usa para las validaciones Web - WebUIValidation.js :-D), bueno de todas maneras se puede utilizar los "DOM Validators", disponibles en ésta dirección:
http://authors.aspalliance.com/steve...cle.aspx?id=38
http://msdn.microsoft.com/library/de...behindfile.asp

Saludos

Nombela 28/06/2005 02:19

DOm VAlidatord
 
Los Dom Validators estan perfectos.
Para cuando la actualizacion para que funciones los controles de .net???

gracias por la ayuda


La zona horaria es GMT -6. Ahora son las 19:47.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.