Validar toda la página y pedir confirmación después

untitled

A veces puede ser útil pedir una confirmación de si se quiere enviar los datos al servidor o no. En este caso uno de los procedimientos habituales es poner en el evento Html onclick del botón que genera submit un return pedir_confirmacion(). El pedir_confirmacion es una función en Javascript que debe devolver true en caso de querer enviar o false en caso contrario.

El problema esta cuando la página contiene controles de validación ASP.NET. La validación se produce después del evento Html onclick y justo antes de realizarse el postback al servidor. El comportamiento es que se pregunta por si se quiere enviar o no y si respondes afirmativamente después se hace la validación del formulario a nivel de cliente y si nos da errores el formulario no se envía cuando el usuario espera a que si.

Para solventarlo necesitamos realizar la validación a nivel de cliente de todos los controles de validación que hay en la página.

<script type="text/javascript">

function pedir_confirmacion() {

  Page_ClientValidate();

  if (Page_IsValid) {

    return confirm('Estas seguro?');

  }

  else {

    return false;

  }

}

</script>

También puedes consultar la MSDN para aprender la API de cliente para las validaciones.

ASP.NET Validation in Depth

 

Más información :

Determine if page is valid in JavaScript – ASP.NET

Advertisements

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s