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

Django

¿Qué es Django? Django es un framework web diseñado para realizar aplicaciones de cualquier complejidad   en unos tiempos muy razonables. Está escrito en Python y tiene una comunidad muy amplia, que está en continuo crecimiento. Webs que utilizan Django Desde la página web de Django podemos ver unos destacados, en los que podemos ver algunas webs como la de  National Geografic, Disqus, Instagram, Mozilla Foundation y Pinterest , que son webs con un tráfico altísimo y utilizan Django. Por qué usar Django Los motivos principales para usar Django son: Es muy rápido : Si tenéis una startup, tenéis prisa por terminar vuestro proyecto o, simplemente, queréis reducir costes, con Django podéis construir una aplicación muy buena en poco tiempo. Viene bien cargado : Cualquier cosa que necesitéis realizar, ya estará implementada, sólo hay que adaptarla a vuestras necesidades. Ya sea porque hay módulos de la comunidad, por cualquier paquete Python que encontréis o...

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)

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...