protected void OnKeyPress(object sender, KeyPressEventArgs e) { errorProvider2.Clear(); gesTextBox sd = (gesTextBox)sender; switch (tipos) { case enumTipos.Numero: sd.Numero(e); break; case enumTipos.Decimal: sd.Decimal(e); break; case enumTipos.Fecha: sd.Date(e); break; case enumTipos.TelefonoConArea: sd.Telefono(e, 3, 3); break; case enumTipos.Email: //regStr = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); //if (!regStr.IsMatch(sd.Text)) // errorProvider1.SetError(this, "El Email no es válido; xxxxxx@xxxx"); break; } }
/// <summary> /// ocurre cuando el control deja de ser el control activo del formulario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Validarting(object sender, EventArgs e) { errorProvider1.Clear(); errorProvider2.Clear(); //vuelvo a setear el color //cambio el color de fondo al txt para que el usuario distinga cual se esta editando //this.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.BackColor = System.Drawing.Color.White; //vuelvo a setear el color bool error = false; gesTextBox sd = (gesTextBox)sender; Regex regStr; switch (tipos) { case enumTipos.Fecha: regStr = new Regex(@"\d{2}/\d{2}/\d{4}"); if (!regStr.IsMatch(sd.Text)) { errorProvider1.SetError(this, "La fecha no es válida; dd/mm/yyyy"); error = true; } break; case enumTipos.TelefonoConArea: regStr = new Regex(@"\d{3}-\d{3}-\d{4}"); if (!regStr.IsMatch(sd.Text)) { errorProvider1.SetError(this, "El telefono no es válido; xxx-xxx-xxxx"); error = true; } break; case enumTipos.Email: { regStr = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); if (!regStr.IsMatch(sd.Text)) { errorProvider1.SetError(this, "El Email no es válido; xxxxxx@xxxx"); error = true; } } break; case enumTipos.Decimal: { regStr = new Regex(@"[0-9]{1,9}(\.[0-9]{0,2})?$"); if (!regStr.IsMatch(sd.Text)) { errorProvider1.SetError(this, "El valor debe ser numerico"); error = true; } } break; case enumTipos.Numero: { regStr = new Regex(@"[0-9]{1,9}(\.[0-9]{0,2})?$"); if (!regStr.IsMatch(sd.Text)) { errorProvider1.SetError(this, "El valor debe ser numerico"); error = true; } } break; } if (error) { this.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.BackColor = System.Drawing.Color.Red; sd.SelectNextControl(sd, true, true, true, true); } }