Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agregar verificacion al form de Login #45

Open
Durphan opened this issue Feb 27, 2024 · 2 comments
Open

Agregar verificacion al form de Login #45

Durphan opened this issue Feb 27, 2024 · 2 comments
Assignees

Comments

@Durphan
Copy link

Durphan commented Feb 27, 2024

Se deberia de agregar un sistema de verificacion al momento de intentar logearse, el mismo debe de ser uno simple para usuario y contraseña que tenga lo siguiente:

Gmail: Verificar que el string que coloque el usuario sea un gmail

Contraseña: Verificar que la contraseña tenga un minimo de 4 caracteres y un numero

Si no se cumple una condicion entonces debe aparecer un mensaje al usuario indicando que requisito no cumplio

@Durphan Durphan changed the title Agregar verificacion al from de Login Agregar verificacion al form de Login Feb 28, 2024
@Durphan
Copy link
Author

Durphan commented Feb 29, 2024

Se soluciono el problema utilizando expresiones regulares con JavaScript puro, de la siguiente forma

 const [email, setEmail] = useState('');
  const [password, setPassword] = useState('');

  function validateEmail(emailToValidate){
    const emailRegex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if(!emailRegex.test(emailToValidate)) {
      console.log("El email debe contener un @ y .com");
    }
  }

function validatePassword(passwordToValidate){
  const passwordRegex = /[0-9]/
  if(passwordToValidate.length < 5 && (typeof passwordToValidate == `string` || !passwordRegex.test(passwordToValidate))){
    console.log("La contraseña debe tener al menos 5 caracteres y un numero")
  }
}

  function handleClick(){
      event.preventDefault()
      validateEmail(email)
      validatePassword(password)
  } 



const ButtonPrimary = ({text, disable, className, typeOfButton, handleClick}) => {


  return disable ? (
    <ButtonAble disabled className={className}>
      {text}
    </ButtonAble>
  ) : (
    <ButtonAble className={className} onClick={() => handleClick()} type={typeOfButton}>
      {text}
    </ButtonAble>
  );
};

export default ButtonPrimary;

Al mismo tiempo se realizaron cambios en componentes tales como ButtonPrimary, agregandole dos props, un hancleClick y un typeOfButton el cual indicaria el tipo de boton que se quiere colocar.

Por el momento de prescindio de usar Formik o Yup debido a que el proyecto de momento no es tan complejo, sin embargo, de querer implementarlo me dicen y lo implemento.

@brahianpdev
Copy link

@Durphan Lo ideal sería que ese código esté solamente en el PR, mientras que en la descripción del mismo, agregar la razón del cambio, así como por qué se fue por una rgx en lugar de otra estrategia. Asociado a esto, un mini resumen de las pruebas hechas para comprobar dicho cambio :)

De esta forma, el issue queda con el detalle concreto de lo que se debe solucionar, mientras que en el PR la solución del mismo

@JoeOsG JoeOsG self-assigned this Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants