Ir al contenido principal

comprobacion utilizando clases

usuarioc 

class usuario_validar():
    errors = []

    def longitud(self, usercomp):
        if len(usercomp) < 6:
            self.errors.append('El nombre de usuario debe contener al menos 6 caracteres')
            return False

        elif len(usercomp) > 12:
            self.errors.append('El nombre de usuario debe contener maximo 12 caracteres')
            return False

        else:
            return True

    def alfanumerico(self, usercomp):
        if usercomp.isalnum() == False:
            self.errors.append('El nombre de usuario puede contener solo letras y numeros')
            return False
        else:
            return True

    def validar_usuario(self, usercomp):
        valido = self.longitud(usercomp) and self.alfanumerico(usercomp)
        return valido
paswordc 


class password_validar():

    errors=[]

    def longitud(self, passw):
        if len(passw) < 8:
            self.errors.append('La contrasena debe tener al menos 8 caracteres')
            return False
        else:
            return True

    def minuscula(self, passw):
        letras_minuscula=False
        for carac in passw:
            if carac.islower()==True:
                letras_minuscula=True
        if not letras_minuscula:
            self.errors.append('La contrasena debe tener al menos una minuscula')
            return False
        else:
            return True

    def mayuscula(self, passw):
        letras_mayuscula=False
        for carac in passw:
            if carac.isupper()==True:
                letras_mayuscula=True
        if not letras_mayuscula:
            self.errors.append('La contrasena debe tener al menos una mayuscula')
            return False
        else:
            return True

    def numero(self, passw):
        num=False
        for carac in passw:
            if carac.isdigit()== True:
                num=True

        if not num:
            self.errors.append('La contrasena debe tener al menos un numero')
            return False
        else:
            return True

    def no_alfanumerico(self, passw):
        if passw.isalnum()==True:
            self.errors.append('La contrasena debe tener al menos un caracter no alfanumerico')
            return False
        else:
            return True

    def espacios(self, passw):
        if passw.count(" ")> 0:
            self.errors.append('La contrasena no puede contener espacios en blanco')
            return False
        else:
            return True

    def validar_password(self,passw):
        valido=self.longitud(passw) and self.minuscula(passw) and self.mayuscula(passw) and self.numero(passw) and self.no_alfanumerico(passw) and self.espacios(passw)
        return valido
validadorc 


# -*- coding: utf-8 -*-
from Tkinter import *
import tkMessageBox
import usuarioc  as uv
import paswordc as pv

user_validator = uv.usuario_validar()
pass_validator = pv.password_validar()

def validation():
    cuser = user.get()
    cpasword = pasword.get()
    correcto = False


    if correcto == False:
        if not user_validator.validar_usuario(cuser):
            for error in user_validator.errors:
                tkMessageBox.showinfo("Aviso error usuario",error)
                correcto = False

                user_validator.errors.remove(error)
        else:
            correcto = True
            if correcto == True:
                if not pass_validator.validar_password(cpasword):
                    for error in pass_validator.errors:
                        tkMessageBox.showinfo("Aviso error contraseña",error)
                        correcto = True
                        pass_validator.errors.remove(error)
                else:
                    correcto = False
                    tkMessageBox.showinfo("Aviso", "Usuario y contraseña creados exitosamente")

raiz=Tk()
raiz.title("ventana primaria")
raiz.resizable(1,1) #para permitir agrandar o no el ancho o la altura con el moyuse
raiz.iconbitmap("descarga.ico")
#raiz.geometry("500x600")
raiz.config(bg="cyan")
raiz.config(bd=15)
raiz.config(relief="groove")

miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="pink")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")

miLabel1=Label(miFrame, text="Ingrese sus datos", fg="red",bg="pink",font=("Arial",18)).grid(row=0,column=0,pady="4")
nombreusuarioLabel=Label(miFrame, text="Nombre usuario: ",bg="pink").grid(row=3,column=0, sticky="w",pady="1")
contrasenaLabel=Label(miFrame, text="Contraseña: ",bg="pink").grid(row=4,column=0,sticky="w",pady="1")

user=StringVar()
pasword=StringVar()


cuadronombreusuario=Entry(miFrame, textvariable=user)
cuadronombreusuario.grid(row=3,column=1,pady="1")
cuadronombreusuario.config(fg="blue", justify="center")

cuadrocontrasena=Entry(miFrame, textvariable=pasword)
cuadrocontrasena.grid(row=4,column=1,pady="1")
cuadrocontrasena.config(show="*",fg="blue", justify="center")

botonEnvio=Button(raiz, text= "Enviar",command=validation)
botonEnvio.pack()


raiz.mainloop()


Interfaz:

Comentarios

Entradas populares de este blog

Practicas en IDE

Programas. Practica 1 Suma de 2 valores con sleep. Código: #PROGRAMA_SUMA_BASICA import time print"Ingresa un primer valor:" a=int(input("")) print "Ingresa un segundo valor:" b=int(input("")) suma= a + b print"Suma de valores ingresados:" print (suma) time.sleep(5) Corrida del programa: Practica 2 Manejo de matematicas. Código: Corrida del programa: Practica 3 If con edad. Codigo Corrida del programa: Practica 4 If implementado de otra forma Practica 5 If con funciones. Practica 6 Numeros con if Practica 7 Segunda forma de implementar el if. Practica 8 Numeros positivos y negativos. Practica 9 Métodos con if. Practica 10 Múltiplos de números métodos. Practica 11 Califiaciones Practica 12  Programa de dulces. Practica 13 Programa prestamos. Programa 14 Otra...

Workbench evidencias

Evidencia de la instalacion de Worbench Tablas: Estructura de las tablas: Conexion Python y mysql import pymysql try: conexion = pymysql.connect(host='localhost',user='root',password='cuaj990804',db='empresa') print("Conexion correcta") except (pymysql.err.OperationalError, pymysql.err.InternalError) as e: print("Ocurrio un error al conectar: ", e)

Django

Introducción  Django es un framework(marco de trabajo) que permite desarrollar aplicaciones web. Para poder trabajar con Django se debe tener instalado Python y posteriormente instalar el modulo. Este framework trae integrada una base de datos(sqlite), pero si el programador quiere puede hacer cambio de motor de base de datos. Unos de los motores que se pueden utilizar son los siguientes: PostgreSQL Maria DB MYSQL Oracle Para poder usar otra base de datos, se requiere instalar su respectivo modulo y manipular el archivo Setting.py del Framework. Django no soporta bases de datos NoSQL. Sin embargo, existen varios proyectos paralelos y forks que permiten la operatividad de NoSQL en Django, como Django non-rel. Instalar Django Creación de un proyecto en Django Para crear el proyecto se requiere el siguiente comando que se resalta con amarrillo en la siguiente captura. Cuando se crear un proyecto se crea una carpeta con el nombre d...