hola, Leonardo:

si es justo el camino que estaba por tomar pero se veia bastante complicado, 
por eso cambie de rumbo y empece a buscar en google como ejecutar la validacion 
desde javascript, asi es como di con la solucion.

gracias
saludos

--- El lun 11-may-09, Leonardo Micheloni <[email protected]> 
escribió:
De: Leonardo Micheloni <[email protected]>
Asunto: [puntonet] jQuery y RequiredFieldValidator
Para: [email protected]
Fecha: lunes, 11 de mayo de 2009, 2:36 pm

ups, justo estaba por decirte que mires el código que generan los
validadores y los llames a manopla, bue, tarde :P

saludos, Leonardo.

2009/5/11 Leandro Tuttini <[email protected]>:
>
> hola,
>
> Les queria comentar que puede dar con la solucion.
>
> Calling ASP.net validators with javascript
> http://www.codeproject.com/KB/aspnet/JavascriptValidation.aspx
>
>
> Modifique la funcion javascript de la siguiente forma:
>
> function saveGroup() {
>
>     if (Page_ClientValidate() == false) {
>        return;
>     }
>
>         var code =
$("#<%=txtCode.ClientID%>").getValue();
>         var description =
$("#<%=txtName.ClientID%>").getValue();
>
>
>         $.ajax({
>             type: "POST",
>             url: "GroupsCalls.aspx/SaveGroup",
>             data: "{'code':'" + code +
"','description':'" + description +
> "'}",
>             contentType: "application/json;
charset=utf-8",
>             dataType: "json",
>             success: function(result) {
>                 alert(result.d);
>             },
>             error: function(XMLHttpRequest, textStatus,
errorThrown) {
>                 alert(textStatus + ": " +
XMLHttpRequest.responseText);
>             }
>         })
>
>
> O sea agregue el milagroso Page_ClientValidate() y eso es todo.
>
> Yo venia buscando la solucion por otro lado, hasta que una luz me hizo
mirar
> si habia alguna funcionalidad para forzar la validacion de los controles
de
> asp.net desde javascript.
>
> Gracias
>
>
> --- El lun 11-may-09, Leandro Tuttini <[email protected]>
> escribió:
>
> De: Leandro Tuttini <[email protected]>
> Asunto: [puntonet] jQuery y RequiredFieldValidator
> Para: [email protected]
> Fecha: lunes, 11 de mayo de 2009, 1:38 pm
>
> hola,
>
> Se me presento el siguiente problema.
>
> Resulta que intento hacer uso de jQuery, pero se em complico con los
> controles de validaciones de asp.net.
>
> A ver le comento en la pagina tengo varios textbox con sus respectivos
> RequiredFieldValidator y RegularExpressionValidator.
>
> Algo asi:
>
> <asp:TextBox ID="txtCode" Name="txtCode"
runat="server" MaxLength="10" />
>
> <asp:RequiredFieldValidator ID="reqCode"
runat="server"
> ControlToValidate="txtCode" SetFocusOnError="true"
> ErrorMessage="<%$Resources:MainResources,ERR_CODE%>"
Display="Dynamic" />
>
> <asp:RegularExpressionValidator ID="regCode"
runat="server"
> ControlToValidate="txtCode"
> Display="Dynamic"
ErrorMessage="<%$Resources:MainResources,ERR_CODEFORMAT%>"
> SetFocusOnError="True"
> ValidationExpression="[^&lt;&gt;'%*]+"
></asp:RegularExpressionValidator>
>
> <asp:Button ID="btnSave" runat="server"
OnClientClick="javascript:
> saveGroup(); return false;" Text="Guardar" />
>
> Nota: esto por supuesto no esta asi tirado, en la pagina esta en tablas
bien
> ubicado, lo posteo asi para que sea mas legible.
> Alli solo puse el textbox Code, pero existe otro para el nombre o la
> descripcion.
>
>
> El javascript seria el siguiente:
>
>     function saveGroup() {
>
>         var code =
$("#<%=txtCode.ClientID%>").getValue();
>         var description =
$("#<%=txtName.ClientID%>").getValue();
>
>         $.ajax({
>             type: "POST",
>             url: "GroupsCalls.aspx/SaveGroup",
>             data: "{'code':'" + code +
"','description':'" + description +
> "'}",
>             contentType: "application/json;
charset=utf-8",
>             dataType: "json",
>             success: function(result) {
>                 alert(result.d);
>             },
>             error: function(XMLHttpRequest, textStatus,
errorThrown) {
>                 alert(textStatus + ": " +
XMLHttpRequest.responseText);
>             }
>         })
>
> Como observaran, si presiono el boton "Guardar" este ejecuta el
javascript,
> sin tener en cuanta las validaciones de asp.net.
> Ya que el atributo OnClientClick anula las validaciones de asp.net.
>
> La pregunta es, como puede hacer para ejecutar las validaciones de los
> controles asp.net antes de llamar a la funcion javascript
"saveGroup" ?
> Y por supuesto si alguna falla evitar esta llamada.
> Seria como ejecutar la validacion pero en lugar de evitar el submit del
> formaulario, seria evitar la llamada a la funcion javascript
"saveGroup".
>
> Buscando pude ver que existe en jQuery un metodo de nombre:
> ValidatorEnable().
> Pero esta solo sive para desplegar el texto de la validacion y no para
> ejecutarla.
>
> How to manage ASP.NET validation from Javascript with jQuery
>
http://codeclimber.net.nz/archive/2008/05/14/How-to-manage-ASP.NET-validation-from-Javascript-with-jQuery.aspx
>
>
> O sea en este caso podria hacer:
>
>     function saveGroup() {
>
>         var code =
$("#<%=txtCode.ClientID%>").getValue();
>         var description =
$("#<%=txtName.ClientID%>").getValue();
>
>         if (code == "")
>         {
>            ValidatorEnable($("#<%= reqCode.ClientID
%>")[0], true);
>            return;
>         }
>         else
>            ValidatorEnable($("#<%= reqCode.ClientID
%>")[0], false);
>
>         if (description == "")
>         {
>            ValidatorEnable($("#<%= reqName.ClientID
%>")[0], true);
>            return;
>         }
>         else
>            ValidatorEnable($("#<%= reqName.ClientID
%>")[0], false);
>
>
>         $.ajax({
>             type: "POST",
>             url: "GroupsCalls.aspx/SaveGroup",
>             data: "{'code':'" + code +
"','description':'" + description +
> "'}",
>             contentType: "application/json;
charset=utf-8",
>             dataType: "json",
>             success: function(result) {
>                 alert(result.d);
>             },
>             error: function(XMLHttpRequest, textStatus,
errorThrown) {
>                 alert(textStatus + ": " +
XMLHttpRequest.responseText);
>             }
>         })
>
>
> Como veran agrego manualmente la validacion y con ValidatorEnable(), se
> muestra el mensaje del control de RequiredFieldValidator.
>
> La consulta es como valido el RegularExpressionValidator, este es mas
> complejo.
>
> Es una macana que el ValidatorEnable() de jQuery no evalue la expresion y
> devuelva si se paso correctamente o no.
>
> Bueno espero se entienda el problema, sino puedeo aportar mas info.
> Saludos
>
>
> ________________________________
> Yahoo! Cocina
> Recetas prácticas y comida saludable
> Visitá http://ar.mujer.yahoo.com/cocina/
>
> ________________________________
> Yahoo! Cocina
> Recetas prácticas y comida saludable
> Visitá http://ar.mujer.yahoo.com/cocina/




      
____________________________________________________________________________________
¡Viví la mejor experiencia en la web!
Descargá gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=ar

Responder a