@State private var email = ""
@State private var password = ""
@EnvironmentObject var session:SessionStore
@EnvironmentObject var viewRouter:ViewRouter

func signIn(email: email, password: password) { (result, error) in
    if let error = error {
        self.error = error.localizedDescription}
    else {
        self.email = ""
        self.password = ""
    }
}


var body: some View {
    
    if (error != "") {
        Text(error)
    }
    
    Button(action: {
        signIn()
        viewRouter.currentPage = .entrypage
        
    }, label: {
        Text("Sign In")
    })
    
}

Ketika saya ketuk Masuk Tampilan Tampilan Perubahan Tidak masalah jika email dan kata sandi kosong. Saya ingin membuat kondisi ketika email atau kata sandi kosong untuk menampilkan kesalahan dan jika tidak untuk masuk dan mengubah tampilan.

1
Frane Vučemilović -Vranjić 4 April 2021, 19:15

1 menjawab

Jawaban Terbaik

Ada beberapa solusi. Berikut adalah satu: Anda dapat menggunakan operator terner pada tombol Anda seperti ini untuk mencegah tombol untuk digunakan jika tidak ada email / kata sandi yang ada: .Disabled (Diri.email == "Self.Password ==" " )

Jawaban yang diedit sebagai tanggapan atas komentar Anda:

Button(action: {
    if self.email == "" || self.password ==  "" {
       self.error = "Please enter your credentials first."
    }
    else {
       signIn()
       viewRouter.currentPage = .entrypage
    }
    
}, label: {
    Text("Sign In")
})
0
Kuhlemann 5 April 2021, 10:36