Está en la página 1de 3

Visual Basic.

Net

Validación

Se entiende por validación, el no permitir que un programa continúe con valores no válidos para
los datos que se van a procesar.

Por ejemplo:

Una venta no puede ser negativa

Para leer y validar una venta ingresada en un TextBox nombrado TxtVenta se puede utilizar el
siguiente código:
Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCalcular.Click

Dim venta As Single 'Declara la variable


venta = TxtVenta.Text 'Lee el dato
If venta < 0 Then
MsgBox("El valor venta no es válido", MsgBoxStyle.Critical, "Error de dato")
TxtVenta.Clear() 'Limpia la caja de texto TxtVenta
TxtVenta.Focus() 'Selecciona la caja de texto TxtVenta
Exit Sub 'Termina la ejecución del procedimiento regresa al formulario
End If
'Aquí la variable venta contiene un valor válido 0 o mayor que cero
End Sub

Una calificación debe estar entre 1 y 20.

Para leer y validar una calificación ingresada en un TextBox nombrado TxtNota se puede utilizar
el siguiente código:
Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCalcular.Click

Dim nota As Integer 'Declara la variable


nota = TxtNota.Text 'Lee el dato
If nota < 1 Or nota > 20 Then
MsgBox("El valor nota no es válido", MsgBoxStyle.Critical, "Error de dato")
TxtNota.Clear() 'Limpia la caja de texto TxtNota
TxtNota.Focus() 'Selecciona la caja de texto TxtNota
Exit Sub 'Termina la ejecución del procedimiento regresa al formulario
End If
'Aquí la variable nota contiene un valor válido entre 1 y 20
End Sub

Si se utiliza un combo para que el usuario seleccione un dato, se debe validar que el usuario
seleccione el dato.

Ejemplo:

Se va a tomar el Edo. Civil de un combo llamado cboEdoCiv

Ing. Nieves Ascanio H. 1


Visual Basic. Net

SelectedIndex

0
1
2
3
-1 No seleccionó

El código para validar el estado civil es:


Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCalcular.Click

Dim EdoCiv As Integer 'Declara la variable

EdoCiv = CboEdoCiv.SelectedIndex 'Lee el valor de la propiedad SelectedIndex


If EdoCiv = -1 Then 'El usuario no seleccionó el valor en el combo
MsgBox("Seleccione el Edo. Civil", MsgBoxStyle.Critical, "Error de dato")
Exit Sub 'Termina la ejecución del procedimiento regresa al formulario
End If
'Aquí la variable EdoCiv contiene uno de los valores (0, 1, 2 ó 3)

End Sub

Manejo de excepciones

Una excepción es un error en tiempo de ejecución. Las sentencias de lectura de un dato tipo
numérico lanzan una excepción si la caja de texto está vacía o si el usuario ingresa caracteres que
no representan un valor numérico.

Si al leer una nota la caja txtNota está vacía el programa se detiene y muestra un mensaje como
este:

La conversión de la cadena "" en el tipo 'Integer' no es válida. Es decir, se produjo una excepción
de la clase InvalidCastException.

Para capturar excepciones se utiliza la sentencia Try … End Try la cual tiene la siguiente
sintaxis:

Ing. Nieves Ascanio H. 2


Visual Basic. Net

Try
'Código que puede lanzar una excepción
Catch ex As Exception1
'Código que se ejecuta cuando ocurre una excepción Exception1
Catch ex As Exception2
'Código que se ejecuta cuando ocurre una excepción Exception2
Finally 'Finally es opcional
'Código que se ejecuta ocurra o no una excepción
End Try

Para capturar la excepción al leer una nota el código es:


Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCalcular.Click

Dim nota As Integer 'Declara la variable


Try
nota = TxtNota.Text 'Aquí puede ocurrir la excepción
If nota < 1 Or nota > 20 Then
MsgBox("El valor nota no es válido", MsgBoxStyle.Critical, "Error de dato")
TxtNota.Clear() 'Limpia la caja de texto TxtNota
TxtNota.Focus() 'Selecciona la caja de texto TxtNota
Exit Sub 'Termina la ejecución del procedimiento regresa al formulario
End If
'Aquí la variable nota contiene un valor válido entre 1 y 20
.
.
.
BtnCalcular.Enabled = False
BtnBorrar.Enabled = True
Catch ex As Exception
MsgBox("El valor de nota debe ser un número", MsgBoxStyle.Critical, "Error de dato")
TxtNota.Clear() 'Limpia la caja de texto TxtNota
TxtNota.Focus() 'Selecciona la caja de texto TxtNota
End Try

End Sub

La estructura del código del procedimiento click en un botón Calcular, es la que se muestra en el
código anterior

Mi sugerencia es colocar todo el código entre las sentencias Try y Catch de la siguiente manera:

Primero leer y validar cada dato

Una vez validados todos los datos, procesar los datos

Mostrar los resultados

Por último deshabilitar el botón Calcular y habilitar el botón Borrar


BtnCalcular.Enabled = False
BtnBorrar.Enabled = True

Ing. Nieves Ascanio H. 3

También podría gustarte