
Condicionar uso de validadores en webform
Publicado por Reinaldo (3 intervenciones) el 30/04/2016 04:55:53
Cordial saludo.
Cómo puedo hacer para que los validator de esta página sólo se activen cuando deseo insertar un nuevo registro o para validar los datos a actualizar después de hacer clic en el botón?, si no los marco como comentarios apenas cargo los datos me muestra los mensajes del validator. Adjunto código:
Default.aspx.cs:
Default.aspx
Cómo puedo hacer para que los validator de esta página sólo se activen cuando deseo insertar un nuevo registro o para validar los datos a actualizar después de hacer clic en el botón?, si no los marco como comentarios apenas cargo los datos me muestra los mensajes del validator. Adjunto código:
Default.aspx.cs:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
public partial class _Default : System.Web.UI.Page
{
//cadena de conexion la declaramos a nivel de la clase para utilizarla en todos los eventos.
SqlConnection cn = new SqlConnection("Data Source=(local)\\sqlexpress;Initial Catalog=clientes;Persist Security Info=True;User ID=sa;Password=admin+123");
protected void Page_Load(object sender, EventArgs e)
{
this.cargardatos();
}
public void cargardatos()
{
//hacemos la consulta a la base de datos
SqlCommand cmd = new SqlCommand("Select * from cliente", cn);
//objeto adapter para hacer el enlace y llenado del dataset
SqlDataAdapter adapter = new SqlDataAdapter();
//asignamos la propiedad selectcommand al objeto command para que ejecute consulta
adapter.SelectCommand = cmd;
//abrimos la conexion
cn.Open();
//creamos objeto dataset
DataSet objdataset = new DataSet();
//llenamos el datable del dataset
//el metodo fill obtiene los datos recuperados del dataadapter y los coloca dentro del dataset
adapter.Fill(objdataset);
//cerramos conexion
cn.Close();
//enlazamos los datos al griedvied
GridView1.DataSource = objdataset;
GridView1.DataBind();
}
protected void btnBuscar_Click(object sender, EventArgs e)
{
SqlCommand cmd_sel = new SqlCommand("select_cliente_ok", cn);
cmd_sel.CommandType = CommandType.StoredProcedure;
cmd_sel.Parameters.Add("@at_id_cliente", SqlDbType.Decimal);
cmd_sel.Parameters.Add("@msj", SqlDbType.VarChar, 50);
cmd_sel.Parameters["@msj"].Direction = ParameterDirection.Output;
cmd_sel.Parameters["@at_id_cliente"].Value = Convert.ToDecimal(txtBusCC.Text);
//cmd_sel.Parameters["@msj"].Value = null;
cn.Open();
cmd_sel.ExecuteNonQuery();
SqlDataReader reader = cmd_sel.ExecuteReader();
if (reader.Read())
{
txtId.Text = Convert.ToString(cmd_sel.Parameters["@at_id_cliente"].Value);
txtNom.Text = reader.GetString(0);
txtDir.Text = reader.GetString(1);
txtTel.Text = reader.GetString(2);
lblEstado.Text = Convert.ToString(cmd_sel.Parameters["@msj"].Value);
reader.Close();
}
else
{
lblEstado.Text = Convert.ToString(cmd_sel.Parameters["@msj"].Value);
}
this.cargardatos();
}
protected void btnActualizar_Click(object sender, EventArgs e)
{
SqlCommand cmd_sel = new SqlCommand("actualiza_cliente3", cn);
cmd_sel.CommandType = CommandType.StoredProcedure;
cmd_sel.Parameters.Add("@at_id_cliente", SqlDbType.Decimal);
cmd_sel.Parameters.Add("@at_mod_id_cliente", SqlDbType.Decimal);
cmd_sel.Parameters.Add("@at_nom", SqlDbType.VarChar);
cmd_sel.Parameters.Add("@at_dir", SqlDbType.VarChar);
cmd_sel.Parameters.Add("@at_tel", SqlDbType.VarChar);
cmd_sel.Parameters.Add("@msj", SqlDbType.VarChar, 50);
cmd_sel.Parameters["@msj"].Direction = ParameterDirection.Output;
cmd_sel.Parameters["@at_id_cliente"].Value = Convert.ToDecimal(txtBusCC.Text);
cmd_sel.Parameters["@at_mod_id_cliente"].Value = Convert.ToString(txtId.Text);
cmd_sel.Parameters["@at_nom"].Value = Convert.ToString(txtNom.Text);
cmd_sel.Parameters["@at_dir"].Value = Convert.ToString(txtDir.Text);
cmd_sel.Parameters["@at_tel"].Value = Convert.ToString(txtTel.Text);
cmd_sel.Parameters["@msj"].Value = null;
cn.Open();
cmd_sel.ExecuteNonQuery();
SqlDataReader reader = cmd_sel.ExecuteReader();
lblEstado.Text = Convert.ToString(cmd_sel.Parameters["@msj"].Value);
this.cargardatos();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>
<style type="text/css">
.auto-style1 {
width: 78%;
}
.auto-style2 {
width: 346px;
}
.auto-style3 {
width: 366px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<h4>Insertar datos con procedimiento almacenado:</h4>
<br />
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
<br />
<table class="auto-style1">
<tr>
<td class="auto-style2">
<asp:Label ID="Label5" runat="server" Text="Ingrese el número de cédula a buscar"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtBusCC" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="Label1" runat="server" Text="Cédula:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtId" runat="server"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtId" ErrorMessage="Campo requerido" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtId" ValidationExpression="^\d+$" ErrorMessage="Por favor ingrese sólo números." Display="Dynamic"></asp:RegularExpressionValidator>--%>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="Label2" runat="server" Text="Nombre:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtNom" runat="server"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtNom" ErrorMessage="Campo requerido" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtNom" ValidationExpression="^[A-Z0-9 a-z]*$" ErrorMessage="Por favor ingrese sólo letras y espacios en blanco." Display="Dynamic"></asp:RegularExpressionValidator>--%>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="Label3" runat="server" Text="Dirección:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtDir" runat="server"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtDir" ErrorMessage="Campo requerido" Display="Dynamic"></asp:RequiredFieldValidator>--%>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="Label4" runat="server" Text="Teléfono:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtTel" runat="server"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtTel" ErrorMessage="Campo requerido" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="txtTel" ValidationExpression="^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$" ErrorMessage="Por favor ingrese un número telefónico válido." Display="Dynamic"></asp:RegularExpressionValidator>--%>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Button ID="btnBuscar" runat="server" OnClick="btnBuscar_Click" Text="Buscar" Width="87px" />
</td>
<td class="auto-style3">
<asp:Label ID="lblEstado" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Button ID="btnActualizar" runat="server" OnClick="btnActualizar_Click" Text="Actualizar" />
</td>
<td class="auto-style3">
</td>
</tr>
<tr>
<td class="auto-style2">
</td>
<td class="auto-style3">
</td>
</tr>
<tr>
<td class="auto-style2">
</td>
<td class="auto-style3">
</td>
</tr>
</table>
<br />
<br />
</div>
</form>
</body>
</html>
Valora esta pregunta


0