コード例 #1
0
        private bool valida()
        {
            if (txtPswActual.Text == "")
            {
                MessageBox.Show("Escriba su contraseña actual", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            if (txtPwsNueva.Text == "")
            {
                MessageBox.Show("Escriba la nueva contraseña", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            if (txtPswConfirmacion.Text == "")
            {
                MessageBox.Show("Escriba la confirmacion de la contraseña", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            if (txtPwsNueva.Text != txtPswConfirmacion.Text)
            {
                MessageBox.Show("La nueva contraseña y su confirmacion deben ser iguales", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            if (!Regex.IsMatch(txtPwsNueva.Text, @"(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"))
            {
                MessageBox.Show("La contraseña debe : \n\t Contener al menos una letra mayúscula.  \n\t Contener al menos una letra minúscula.  \n\t Contener al menos un número o caracter especial.  \n\t Tener una longitud mínima de 8 caracteres.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            int       intResult;
            LnSistema objLnSistema = new LnSistema(ModUsuario.SessionObjEnDatosConn);

            intResult = objLnSistema.ValidaHistorialPsw(ModUsuario.SessionIdUsuario, new ClsFunciones().GetMD5Hash(txtPwsNueva.Text));

            if (intResult == 1)
            {
                MessageBox.Show("La contraseña ha sido establecida anteriormente, por favor defina una nueva contraseña", "Contraseña en histórico", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }

            return(true);
        }