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
Publicar un comentario