Whenever i hit my sign in button with empty email and password fields, my code should update my emailError state and passwordError with Some message but it is only updating passwordError state.
const validateSignIn = () => {
let errorCount = 0;
const emailExp = /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/
const Passwordexp = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/
const validEmail = emailExp.test(loginDetails.email)
const validPassword = Passwordexp.test(loginDetails.password)
console.log(validEmail, validPassword)
console.log(loginDetails)
if (loginDetails.email == "") {
setLoginDetails({ ...loginDetails, emailError: "Email cannot be left empty"})
errorCount = errorCount + 1
}
else if (validEmail == false) {
setLoginDetails({ ...loginDetails, emailError : "Invalid email address"})
errorCount = errorCount + 1
}
if (loginDetails.password == "") {
setLoginDetails({ ...loginDetails, passwordError: "Password field cannot be left Empty" })
errorCount = errorCount + 1
}
else if (validPassword == false) {
setLoginDetails({ ...loginDetails,passwordError: "Invalid Password" })
errorCount = errorCount + 1
}
if (errorCount == 0) {
navigation.replace('dashboard')
}
}