none
Validar datos en c# RRS feed

  • Pregunta

  • Saludos quiero que alguien me revise este codigo yo lo que quiero hacer es que cuando no ingrese un texto en los campos requeridos y oprima guardar este me de un mensaje que diga que faltan dato en vez de que simplemente almacene esto en blanco aqui dejo el codigo:

    private void btnGuardar_Click(object sender, EventArgs e)
    {
    Cliente Cliente = new Cliente();
    Cliente.Nombre = txtNombre.Text;
    Cliente.Apellido = txtApellido.Text;
    Cliente.Direccion = txtDireccion.Text;
    Cliente.Telefono = txtTelefono.Text;
    Cliente.Celular = txtCelular.Text;
    Cliente.Fecha = dateTimePicker1.Value.ToShortDateString();

    int resultado = ClienteDA.Agregar(Cliente);

    if (resultado > 0)
    {
    MessageBox.Show("Datos guardados correctamente", "Datos Guardados Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information);
    limpiar();
    }
    else
    {
    MessageBox.Show("Error no se pudieron guardar los datos", "Error al guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    }
    lunes, 29 de abril de 2013 16:59

Respuestas

  • Haber quedaría de esta forma pruebalo y nos comentas:

    private void btnGuardar_Click(object sender, EventArgs e)
    {
    Cliente Cliente = new Cliente();

    if ( !string.IsNullOrWhiteSpace( txtNombre.Text))
               {
                   Cliente.Nombre = txtNombre.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Nombre");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtApellido.Text))
               {
                   Cliente.Apellido= txtApellido.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Apellido");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtDireccion.Text))
               {
                   Cliente.Direccion= txtDireccion.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Direccion");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtTelefono.Text))
               {
                   Cliente.Telefono= txtTelefono.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Telefono");
          Return;
               }

     if ( !string.IsNullOrWhiteSpace(txtCeular.Text))
               {
                   Cliente.Celular= txtCelular.Text;
               }
               else
               {
                   Cliente.Celular = "";
               }


    Cliente.Fecha = dateTimePicker1.Value.ToShortDateString();

    int resultado = ClienteDA.Agregar(Cliente);

    if (resultado > 0)
    {
    MessageBox.Show("Datos guardados correctamente", "Datos Guardados Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information);
    limpiar();
    }
    else
    {
    MessageBox.Show("Error no se pudieron guardar los datos", "Error al guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    }


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 17:31
    lunes, 29 de abril de 2013 17:19
  • Recuerda que C# cuenta con intellisense cambia el Return por return erro mío disculpa

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 17:31
    lunes, 29 de abril de 2013 17:29
  • Hola Apec...

    Hay varias maneras aunque personalmente te recomiendo presentar la validación con el ErrorProvider.


    Arrastra de tu cuadro de herramientas el control "ErrorProvider", por default se llamará ErrorProvider1 y modifica un poco tu código con algo como ésto:

    private void btnGuardar_Click(object sender, EventArgs e) { bool campoVacio=false; Cliente Cliente = new Cliente(); if(txtNombre.Text.Trim().Lenght != 0) { Cliente.Nombre = txtNombre.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtNombre, "Campo vacio"); } if(txtApellido.Text.Trim().Lenght != 0) { Cliente.Apellido = txtApellido.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtApellido, "Campo vacio"); } if(txtDireccion.Text.Trim().Lenght != 0) { Cliente.Direccion = txtDireccion.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtDireccion, "Campo vacio"); } if(txtTelefono.Text.Trim().Lenght != 0) { Cliente.Telefono = txtTelefono.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtTelefono, "Campo vacio"); } if(txtCelular.Text.Trim().Lenght != 0) { Cliente.Celular = txtCelular.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtCelular, "Campo vacio"); } Cliente.Fecha = dateTimePicker1.Value.ToShortDateString(); if(campoVacio==false) { int resultado = ClienteDA.Agregar(Cliente); if (resultado > 0) { MessageBox.Show("Datos guardados correctamente", "Datos Guardados Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); limpiar(); } else { MessageBox.Show("Error no se pudieron guardar los datos", "Error al guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }



    Eso sería todo. Espero haber sido de ayuda. Saludos. 



    Darian Ramos Desarrollador Yamaha de México

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 18:34
    lunes, 29 de abril de 2013 17:37

Todas las respuestas

  • Hola puedes validar los textbox de esta forma:

    	   if ( !string.IsNullOrWhiteSpace( txtNombre.Text))
               {
                   Cliente.Nombre = txtNombre.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Nombre");
    Return; }


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos


    lunes, 29 de abril de 2013 17:07
  • esta intereasante pero como lo haria para nombre apellido direccion y telefono ya que celular es opcional
    lunes, 29 de abril de 2013 17:09
  • Hola de la misma forma como comenté en el caso de celular podría ser algo como esto:

    	   if ( !string.IsNullOrWhiteSpace(txtCeular.Text))
               {
                   Cliente.Celular= txtCelular.Text;
               }
               else
               {
                   Cliente.Celular = "";
               }


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    lunes, 29 de abril de 2013 17:12
  • esta intereasante pero como lo haria para nombre apellido direccion y telefono ya que celular es opcional y me perdonas pero que soy muy nuevo en si C# y no conozco bastante sobre esto por eso puse el codigo para que me modificaran lo que tenia que modificar

    lunes, 29 de abril de 2013 17:14
  • Haber quedaría de esta forma pruebalo y nos comentas:

    private void btnGuardar_Click(object sender, EventArgs e)
    {
    Cliente Cliente = new Cliente();

    if ( !string.IsNullOrWhiteSpace( txtNombre.Text))
               {
                   Cliente.Nombre = txtNombre.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Nombre");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtApellido.Text))
               {
                   Cliente.Apellido= txtApellido.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Apellido");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtDireccion.Text))
               {
                   Cliente.Direccion= txtDireccion.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Direccion");
          Return;
               }

    if ( !string.IsNullOrWhiteSpace( txtTelefono.Text))
               {
                   Cliente.Telefono= txtTelefono.Text;
               }
               else
               {
                   MessageBox.Show( "Ingrese Telefono");
          Return;
               }

     if ( !string.IsNullOrWhiteSpace(txtCeular.Text))
               {
                   Cliente.Celular= txtCelular.Text;
               }
               else
               {
                   Cliente.Celular = "";
               }


    Cliente.Fecha = dateTimePicker1.Value.ToShortDateString();

    int resultado = ClienteDA.Agregar(Cliente);

    if (resultado > 0)
    {
    MessageBox.Show("Datos guardados correctamente", "Datos Guardados Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information);
    limpiar();
    }
    else
    {
    MessageBox.Show("Error no se pudieron guardar los datos", "Error al guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    }


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 17:31
    lunes, 29 de abril de 2013 17:19
  • me da lineas rojas en return

    dice Error    1    Only assignment, call, increment, decrement, and new object expressions can be used as a statement   

    Error    6    The name 'Return' does not exist in the current context    51    17   

    lunes, 29 de abril de 2013 17:23
  • Recuerda que C# cuenta con intellisense cambia el Return por return erro mío disculpa

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 17:31
    lunes, 29 de abril de 2013 17:29
  • Ha funcionado de maravilla muchas gracias.
    lunes, 29 de abril de 2013 17:31
  • hola

    podrias optimizarlo usando

    private void btnGuardar_Click(object sender, EventArgs e)
    {
    	
    	if (string.IsNullOrWhiteSpace( txtNombre.Text)){
    		MessageBox.Show( "Ingrese Nombre");
    		return;
    	}
    
    	if (string.IsNullOrWhiteSpace( txtApellido.Text))
    	{
    	   MessageBox.Show( "Ingrese Apellido");
    		return;
    	}
    
    	if (string.IsNullOrWhiteSpace( txtDireccion.Text))
    	{
    	   MessageBox.Show( "Ingrese Direccion");
    		return;
    	}
    	
    	if (string.IsNullOrWhiteSpace( txtTelefono.Text))
    	{
    		MessageBox.Show( "Ingrese Telefono");
    		return;
    	}
    
    
    	Cliente Cliente = new Cliente();
    	Cliente.Nombre = txtNombre.Text;
    	Cliente.Apellido = txtApellido.Text;
    	Cliente.Direccion = txtDireccion.Text;
    	Cliente.Telefono = txtTelefono.Text;
    	Cliente.Celular = string.IsNullOrWhiteSpace(txtCeular.Text) ? "" : txtCeular.Text;
    
    	Cliente.Fecha = dateTimePicker1.Value.ToShortDateString();
    
    	int resultado = ClienteDA.Agregar(Cliente);

    The name 'Return' does not exist in the current context

    c# es keysensitive el return va en miniscula la r

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 29 de abril de 2013 17:33
  • Hola Apec...

    Hay varias maneras aunque personalmente te recomiendo presentar la validación con el ErrorProvider.


    Arrastra de tu cuadro de herramientas el control "ErrorProvider", por default se llamará ErrorProvider1 y modifica un poco tu código con algo como ésto:

    private void btnGuardar_Click(object sender, EventArgs e) { bool campoVacio=false; Cliente Cliente = new Cliente(); if(txtNombre.Text.Trim().Lenght != 0) { Cliente.Nombre = txtNombre.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtNombre, "Campo vacio"); } if(txtApellido.Text.Trim().Lenght != 0) { Cliente.Apellido = txtApellido.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtApellido, "Campo vacio"); } if(txtDireccion.Text.Trim().Lenght != 0) { Cliente.Direccion = txtDireccion.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtDireccion, "Campo vacio"); } if(txtTelefono.Text.Trim().Lenght != 0) { Cliente.Telefono = txtTelefono.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtTelefono, "Campo vacio"); } if(txtCelular.Text.Trim().Lenght != 0) { Cliente.Celular = txtCelular.Text; } else { campoVacio=true; ErrorProvider1.SetError(txtCelular, "Campo vacio"); } Cliente.Fecha = dateTimePicker1.Value.ToShortDateString(); if(campoVacio==false) { int resultado = ClienteDA.Agregar(Cliente); if (resultado > 0) { MessageBox.Show("Datos guardados correctamente", "Datos Guardados Correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); limpiar(); } else { MessageBox.Show("Error no se pudieron guardar los datos", "Error al guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }



    Eso sería todo. Espero haber sido de ayuda. Saludos. 



    Darian Ramos Desarrollador Yamaha de México

    • Marcado como respuesta apec18 lunes, 29 de abril de 2013 18:34
    lunes, 29 de abril de 2013 17:37