El Libro del Día: 2014-10-25
Titulo: La Biblia de Visual Basic .NET (Capítulo 5)
Autor: Luis Dueñas Huaroto
Editorial: Coredise
Nro Paginas: 112
Capítulo 5: Desarrollando Aplicaciones Web con ASP .NET
1. Trabajando con el Formulario y los Controles Web
1.1. Introducción a ASP .NET
1.2. Creando un Simple Sitio Web
1.3. Usando Controles Web Intrínsecos
1.4. Usando Controles Web de Imágenes
1.5. Usando el Control FileUpload y Controles de Validación
2. Mejorando el Diseño y Navegabilidad del Sitio Web
2.1. Creando y usando Hojas de Estilos en Cascada
2.2. Paginas Principales y Controles de Navegación
2.3. Usando Controles de Vistas MultiView y Views
3. Usando el Control GridView
3.1. Personalizando Columnas en el GridView
3.2. Paginando en el GridView
3.3. Ordenando en el GridView
3.4. Mantenimiento de Datos en el GridView
4. Creando Plantillas en Controles Enlazados a Datos
4.1. Trabajando con el Control Repeater
4.2. Trabajando con el Control DataList
4.3. Creando Plantillas Jerárquicas
Descarga:
Biblia_VisualBasicNET_Capitulo5
Blog de Luis Dueñas dedicado a la difusión del Desarrollo en Microsoft .NET, Visual Studio, WinForms, WebForms, MVC, ASP .NET, jQuery, AJAX, HTML5, JavaScript, Móviles, etc. Encontrarás Libros, Demos, Artículos Técnicos, Entrenamiento.
Mostrando las entradas con la etiqueta Validación. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Validación. Mostrar todas las entradas
sábado, 25 de octubre de 2014
El Libro del Día: La Biblia de Visual Basic .NET (Cap 5)
Etiquetas:
ASP.NET,
Controles,
Coredise,
CSS,
DataList,
FileUpload,
GridView,
La Biblia,
Lduenas,
Libros,
Luis Dueñas Huaroto,
Master Pages,
MultiView,
Plantillas,
Repeater,
Validación,
Views,
Visual Basic .NET,
WebForms
viernes, 27 de junio de 2014
El Demo del Día: Comparación al Validar un Formulario con Javascript (Obstrusivo Vs No Obstrusivo)
Comparación al Validar un Formulario con Javascript (Obstrusivo Vs No Obstrusivo)
Cuando queremos enviar datos hacia el servidor a través de un formulario HTML, por ejemplo en ASP .NET Web Forms, necesitamos validar en el cliente los datos para lo cual debemos usar Javascript.
El método tradicional de Javascript usado era asociar una función a un evento de un control dentro del cuerpo del formulario, por ejemplo en el evento onclick de un botón. A este tipo de Javascript se le conoce como "Javascript Obstrusivo" y lo malo es que mezcla el diseño con el código.
Con la aparición de jQuery se habla mucho de "Javascript No Obstrusivo" que consiste en asociar una función a un evento de un control por código sin interferir en el HTML, pero esta técnica nace gracias a DOM Nivel 2 que incorpora los métodos addEventListener, que permiten asociar a un evento de un control una función Javascript explicita (con nombre) o anónima (sin nombre).
Para los que No conocen que es DOM, significa el Modelo de Objetos del Documento, por ejemplo, el DOM Nivel 1 tiene los objetos Document, Window, Browser y el DOM Nivel 2 el método "addEventListener()" que usaremos para asociar eventos en tiempo de ejecución, junto con el método "preventDefault()" para cancelar el envío del formulario en el click del botón.
Validación del Formulario WebForm con Javascript Obstrusivo
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Obstrusiva.aspx.cs" Inherits="Validacion.Obstrusiva" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>
function validarDatos() {
if (validarCampo("txtNombre", "Ingresa el Nombre") == false) return false;
if (validarCampo("cboCurso", "Seleccione el Curso") == false) return false;
return true;
}
function validarCampo(idControl, mensaje) {
var campo = document.getElementById(idControl);
if (campo != null) {
if (campo.value == "") {
alert(mensaje);
campo.focus();
return false;
}
}
else return false;
return true;
}
</script>
</head>
<body style="background-color:aqua">
<form id="form1" runat="server">
<div>
<h2>Validación Obstrusiva con Javascript</h2>
<h3>Registro de Alumnos</h3>
Nombre:
<asp:TextBox ID="txtNombre" runat="server" /><p />
Curso: <asp:DropDownList id="cboCurso" runat="server">
<asp:ListItem value="">Seleccione</asp:ListItem>
<asp:ListItem value="NET">NET</asp:ListItem>
<asp:ListItem value="Java">Java</asp:ListItem>
<asp:ListItem value="PHP">PHP</asp:ListItem>
</asp:DropDownList><p />
<asp:Button ID="btnEnviar" OnClientClick="return validarDatos();" Text="Enviar" runat="server" />
</div>
</form>
</body>
</html>
Nota: En el control Web "Button" se está asociando a la propiedad "OnClientClick" la función Javascript: "validarDatos()". Al devolver false la función no irá al servidor.
Validación del Formulario WebForm con Javascript No Obstrusivo
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NoObstrusiva.aspx.cs" Inherits="Validacion.NoObstrusivo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.addEventListener("load", crearValidacion, false);
function crearValidacion() {
var btn = document.getElementById("btnEnviar");
btn.addEventListener("click", validarDatos, false);
function validarDatos(e) {
if (validarCampo("txtNombre", "Ingresa el Nombre",e) == false) return false;
if (validarCampo("cboCurso", "Seleccione el Curso",e) == false) return false;
return true;
}
function validarCampo(idControl,mensaje,e) {
var campo = document.getElementById(idControl);
if (campo != null) {
if (campo.value == "") {
alert(mensaje);
campo.focus();
e.preventDefault();
return false;
}
}
else return false;
return true;
}
}
</script>
</head>
<body style="background-color:aqua">
<form id="form1" runat="server">
<div>
<h2>Validación No Obstrusiva con Javascript</h2>
<h3>Registro de Alumnos</h3>
Nombre:
<asp:TextBox ID="txtNombre" runat="server" /><p />
Curso: <asp:DropDownList id="cboCurso" runat="server">
<asp:ListItem value="">Seleccione</asp:ListItem>
<asp:ListItem value="NET">NET</asp:ListItem>
<asp:ListItem value="Java">Java</asp:ListItem>
<asp:ListItem value="PHP">PHP</asp:ListItem>
</asp:DropDownList><p />
<asp:Button ID="btnEnviar" Text="Enviar" runat="server" />
</div>
</form>
</body>
</html>
Nota: En el código Javascript se asocia al evento "load" de la ventana (window) la función "crearValidacion()", la cual captura el botón y asocia a su evento "click" la función "validarDatos()". Para evitar enviar el formulario al servidor al estar vacío un campo se usa el método: "preventDefault()".
Comentario Final
En lo posible hay que usar Javascript No Obstrusivo para evitar mezclar el diseño con el código, ya sea usando jQuery o Javascript nativo. Actualmente, todos los navegadores soportan DOM Nivel 2 así es que el método "addEventListener" correrá sin problemas.
Descarga:
Validacion_WebForm_Javascript
Cuando queremos enviar datos hacia el servidor a través de un formulario HTML, por ejemplo en ASP .NET Web Forms, necesitamos validar en el cliente los datos para lo cual debemos usar Javascript.
El método tradicional de Javascript usado era asociar una función a un evento de un control dentro del cuerpo del formulario, por ejemplo en el evento onclick de un botón. A este tipo de Javascript se le conoce como "Javascript Obstrusivo" y lo malo es que mezcla el diseño con el código.
Con la aparición de jQuery se habla mucho de "Javascript No Obstrusivo" que consiste en asociar una función a un evento de un control por código sin interferir en el HTML, pero esta técnica nace gracias a DOM Nivel 2 que incorpora los métodos addEventListener, que permiten asociar a un evento de un control una función Javascript explicita (con nombre) o anónima (sin nombre).
Para los que No conocen que es DOM, significa el Modelo de Objetos del Documento, por ejemplo, el DOM Nivel 1 tiene los objetos Document, Window, Browser y el DOM Nivel 2 el método "addEventListener()" que usaremos para asociar eventos en tiempo de ejecución, junto con el método "preventDefault()" para cancelar el envío del formulario en el click del botón.
Validación del Formulario WebForm con Javascript Obstrusivo
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Obstrusiva.aspx.cs" Inherits="Validacion.Obstrusiva" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>
function validarDatos() {
if (validarCampo("txtNombre", "Ingresa el Nombre") == false) return false;
if (validarCampo("cboCurso", "Seleccione el Curso") == false) return false;
return true;
}
function validarCampo(idControl, mensaje) {
var campo = document.getElementById(idControl);
if (campo != null) {
if (campo.value == "") {
alert(mensaje);
campo.focus();
return false;
}
}
else return false;
return true;
}
</script>
</head>
<body style="background-color:aqua">
<form id="form1" runat="server">
<div>
<h2>Validación Obstrusiva con Javascript</h2>
<h3>Registro de Alumnos</h3>
Nombre:
<asp:TextBox ID="txtNombre" runat="server" /><p />
Curso: <asp:DropDownList id="cboCurso" runat="server">
<asp:ListItem value="">Seleccione</asp:ListItem>
<asp:ListItem value="NET">NET</asp:ListItem>
<asp:ListItem value="Java">Java</asp:ListItem>
<asp:ListItem value="PHP">PHP</asp:ListItem>
</asp:DropDownList><p />
<asp:Button ID="btnEnviar" OnClientClick="return validarDatos();" Text="Enviar" runat="server" />
</div>
</form>
</body>
</html>
Nota: En el control Web "Button" se está asociando a la propiedad "OnClientClick" la función Javascript: "validarDatos()". Al devolver false la función no irá al servidor.
Validación del Formulario WebForm con Javascript No Obstrusivo
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NoObstrusiva.aspx.cs" Inherits="Validacion.NoObstrusivo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.addEventListener("load", crearValidacion, false);
function crearValidacion() {
var btn = document.getElementById("btnEnviar");
btn.addEventListener("click", validarDatos, false);
function validarDatos(e) {
if (validarCampo("txtNombre", "Ingresa el Nombre",e) == false) return false;
if (validarCampo("cboCurso", "Seleccione el Curso",e) == false) return false;
return true;
}
function validarCampo(idControl,mensaje,e) {
var campo = document.getElementById(idControl);
if (campo != null) {
if (campo.value == "") {
alert(mensaje);
campo.focus();
e.preventDefault();
return false;
}
}
else return false;
return true;
}
}
</script>
</head>
<body style="background-color:aqua">
<form id="form1" runat="server">
<div>
<h2>Validación No Obstrusiva con Javascript</h2>
<h3>Registro de Alumnos</h3>
Nombre:
<asp:TextBox ID="txtNombre" runat="server" /><p />
Curso: <asp:DropDownList id="cboCurso" runat="server">
<asp:ListItem value="">Seleccione</asp:ListItem>
<asp:ListItem value="NET">NET</asp:ListItem>
<asp:ListItem value="Java">Java</asp:ListItem>
<asp:ListItem value="PHP">PHP</asp:ListItem>
</asp:DropDownList><p />
<asp:Button ID="btnEnviar" Text="Enviar" runat="server" />
</div>
</form>
</body>
</html>
Nota: En el código Javascript se asocia al evento "load" de la ventana (window) la función "crearValidacion()", la cual captura el botón y asocia a su evento "click" la función "validarDatos()". Para evitar enviar el formulario al servidor al estar vacío un campo se usa el método: "preventDefault()".
Comentario Final
En lo posible hay que usar Javascript No Obstrusivo para evitar mezclar el diseño con el código, ya sea usando jQuery o Javascript nativo. Actualmente, todos los navegadores soportan DOM Nivel 2 así es que el método "addEventListener" correrá sin problemas.
Descarga:
Validacion_WebForm_Javascript
Etiquetas:
Demos,
DOM,
Javascript,
jQuery,
Lduenas,
No Obstrusivo,
Obstrusivo,
Validación,
WebForms
Suscribirse a:
Entradas (Atom)


