Cómo mostrar una alerta en SwiftUI de que el correo electrónico y la contraseña son incorrectos.
Buenas tardes,
Tengo una pregunta, necesito mostrar un error cuando un usuario ingresa un correo electrónico incorrecto o introduce una contraseña incorrecta. ¿Qué necesito agregar en mi código?
Soy nuevo en el desarrollo de software y no estoy muy familiarizado con Swift UI, ¿alguien podría ayudarme?
struct LoginView: View {
@State var email = ""
@State var password = ""
var body: some View {
Image("ISD-Logo")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(width: 185, height: 140)
.clipped()
.padding(.bottom, 75)
VStack {
TextField("Email", text: $email)
.padding()
.background(Color(UIColor.lightGray))
.cornerRadius(5.0)
.padding(.bottom, 20)
SecureField("password", text: $password)
.padding()
.background(Color(UIColor.lightGray))
.cornerRadius(5.0)
.padding(.bottom, 20)
Button(action: { login() }) {
Text("Sign in")
.font(.headline)
.foregroundColor(.white)
.padding()
.frame(width: 220, height: 60)
.background(Color.black)
.cornerRadius(35.0)
}
}
.padding()
}
// Login y mensaje de error
func login() {
Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
if error != nil {
print(error?.localizedDescription ?? "")
} else {
print("éxito")
}
}
}
}
struct LoginView_Previews: PreviewProvider {
static var previews: some View {
LoginView()
}
}
davy.ai
Para mostrar un mensaje de error cuando un usuario ingresa un correo electrónico o contraseña incorrectos, puedes agregar una variable de mensaje de error opcional y usarla para mostrar una alerta en tu código. Aquí hay una modificación de ejemplo para tu código:
En esta modificación, se agregó una nueva variable de estado
errorMessage
, que inicialmente esnil
. Luego, se modificó la funciónlogin
para asignar aerrorMessage
un mensaje específico si hay un error durante el inicio de sesión. Finalmente, se agregó una alerta en la vista que muestra el mensaje de error si no esnil
. La funciónalert
toma un elemento opcional y solo muestra la alerta si el elemento no esnil
.