Help me, I am writing a login function and putting login in button action but this error Failed to produce diagnostic for expression; please file a bug report.
import SwiftUI
import Alamofire
struct loginPage: View {
@State private var email : String = ""
@State private var isEmailValid : Bool = false
@State private var password : String = ""
@State var hiddenpassword : Bool = false
var body: some View {
NavigationView {
ZStack {
VStack {
Spacer()
Spacer()
Text("Welcome").font(/*@STARTMENUTOKEN@*/.title/*@ENDMENUTOKEN@*/)
HStack{
Image(systemName: "envelope.fill")
TextField("Email", text: self.$email , onEditingChanged:{ (isChanged) in
if !isChanged {
if self.textFieldValidatorEmail(self.email) {
self.isEmailValid = true}
} else {
self.isEmailValid = false
self.email = ""
}
})//.foregroundColor(.yellowm)
if self.isEmailValid == true {
Image(systemName: "checkmark")
.font(.callout)
.foregroundColor(Color.red)
}
}.padding()
HStack{
Image(systemName: "lock.fill")
if self.hiddenpassword{
TextField("Password", text: self.$password )
}else{
SecureField("Password",text: self.$password)
}
Button(action: {self.hiddenpassword.toggle()})
{
Image(systemName: self.hiddenpassword ? "eye.fill" : "eye.slash.fill").foregroundColor(.gray)
}
}.padding()
HStack() {
Spacer()
NavigationLink(destination: forgotPasswordPage() ) {
Text("Forgot Password?").font(.system(size: 15))
.foregroundColor(.yellow)
.padding()
}
}.padding(.bottom, 0)
Button(action: self.login(email: $email, password: $password)) {
HStack{
Text("Log in")
.font(.headline)
.foregroundColor(.white)
.frame(width: 371,height: 40)
.background(Color.yellow)
}.cornerRadius(4.0)
}
Spacer()
}.background(Color.white)
}.background(Color.black)
.edgesIgnoringSafeArea(/*@STARTMENUTOKEN@*/.all/*@ENDMENUTOKEN@*/)
}
}
func textFieldValidatorEmail( string: String) -> Bool {
if string.count > 100 {
return false
}
let emailFormat = "[A-Z0-9a-z.%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z.]{2,64}"
let emailPredicate = NSPredicate(format:"SELF MATCHES %@", emailFormat)
return emailPredicate.evaluate(with: string)
}
func login (email : String , password : String) {
let url = "https://test"
AF.request(url,
method: .post,
parameters : [
"action" : "auth",
"email" : email,
"password" : password]).responseJSON { (response) in
switch response.result {
case .success(let value) :
print(value)
case .failure(let error):
print(error)
}
}
}
}
import SwiftUI
import Alamofire
struct loginPage: View {
@State private var email : String = ""
@State private var isEmailValid : Bool = false
@State private var password : String = ""
@State var hiddenpassword : Bool = false
var body: some View {
NavigationView {
ZStack {
VStack {
Spacer()
Spacer()
Text("Welcome").font(/*@STARTMENUTOKEN@*/.title/*@ENDMENUTOKEN@*/)
HStack{
Image(systemName: "envelope.fill")
TextField("Email", text: self.$email , onEditingChanged:{ (isChanged) in
if !isChanged {
if self.textFieldValidatorEmail(self.email) {
self.isEmailValid = true}
} else {
self.isEmailValid = false
self.email = ""
}
})//.foregroundColor(.yellowm)
if self.isEmailValid == true {
Image(systemName: "checkmark")
.font(.callout)
.foregroundColor(Color.red)
}
}.padding()
HStack{
Image(systemName: "lock.fill")
if self.hiddenpassword{
TextField("Password", text: self.$password )
}else{
SecureField("Password",text: self.$password)
}
Button(action: {self.hiddenpassword.toggle()})
{
Image(systemName: self.hiddenpassword ? "eye.fill" : "eye.slash.fill").foregroundColor(.gray)
}
}.padding()
HStack() {
Spacer()
NavigationLink(destination: forgotPasswordPage() ) {
Text("Forgot Password?").font(.system(size: 15))
.foregroundColor(.yellow)
.padding()
}
}.padding(.bottom, 0)
Button(action: self.login(email: $email, password: $password)) {
HStack{
Text("Log in")
.font(.headline)
.foregroundColor(.white)
.frame(width: 371,height: 40)
.background(Color.yellow)
}.cornerRadius(4.0)
}
Spacer()
}.background(Color.white)
}.background(Color.black)
.edgesIgnoringSafeArea(/*@STARTMENUTOKEN@*/.all/*@ENDMENUTOKEN@*/)
}
}
func textFieldValidatorEmail( string: String) -> Bool {
if string.count > 100 {
return false
}
let emailFormat = "[A-Z0-9a-z.%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z.]{2,64}"
let emailPredicate = NSPredicate(format:"SELF MATCHES %@", emailFormat)
return emailPredicate.evaluate(with: string)
}
func login (email : String , password : String) {
let url = "https://test"
AF.request(url,
method: .post,
parameters : [
"action" : "auth",
"email" : email,
"password" : password]).responseJSON { (response) in
switch response.result {
case .success(let value) :
print(value)
case .failure(let error):
print(error)
}
}
}
}