From d9a0b67475d2c213f8c6efdf0fd4880e4c7f2030 Mon Sep 17 00:00:00 2001 From: Kishikawa Katsumi Date: Sun, 28 Jul 2024 01:16:42 +0900 Subject: [PATCH] guard submit --- .../FileBrowser (iOS)/ConnectServerView.swift | 7 ++++++- .../FileBrowser (iOS)/ConnectServiceView.swift | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Examples/FileBrowser/FileBrowser (iOS)/ConnectServerView.swift b/Examples/FileBrowser/FileBrowser (iOS)/ConnectServerView.swift index f9a973e..5d9ee7c 100644 --- a/Examples/FileBrowser/FileBrowser (iOS)/ConnectServerView.swift +++ b/Examples/FileBrowser/FileBrowser (iOS)/ConnectServerView.swift @@ -17,6 +17,10 @@ struct ConnectServerView: View { @State private var username: String @State private var password: String + private var canSubmit: Bool { + !server.isEmpty && !username.isEmpty && !password.isEmpty + } + @FocusState private var focusedField: FocusedField? @@ -98,7 +102,7 @@ struct ConnectServerView: View { submit() } .frame(maxWidth: .infinity) - .disabled(server.isEmpty || username.isEmpty || password.isEmpty) + .disabled(!canSubmit) } } .navigationTitle("Connect to Server") @@ -113,6 +117,7 @@ struct ConnectServerView: View { focusedField = .server } .onSubmit { + guard canSubmit else { return } submit() } .alert(isPresented: $presentAlert) { diff --git a/Examples/FileBrowser/FileBrowser (iOS)/ConnectServiceView.swift b/Examples/FileBrowser/FileBrowser (iOS)/ConnectServiceView.swift index 10ef843..732f874 100644 --- a/Examples/FileBrowser/FileBrowser (iOS)/ConnectServiceView.swift +++ b/Examples/FileBrowser/FileBrowser (iOS)/ConnectServiceView.swift @@ -11,7 +11,11 @@ struct ConnectServiceView: View { @State private var username: String @State private var password: String - + + private var canSubmit: Bool { + !username.isEmpty && !password.isEmpty + } + @FocusState private var focusedField: FocusedField? @@ -60,7 +64,7 @@ struct ConnectServiceView: View { submit() } .frame(maxWidth: .infinity) - .disabled(username.isEmpty || password.isEmpty) + .disabled(!canSubmit) } } .navigationTitle("Connect to Server") @@ -75,6 +79,7 @@ struct ConnectServiceView: View { focusedField = .username } .onSubmit { + guard canSubmit else { return } submit() } .alert(isPresented: $presentAlert) {