Validations for entry app data
Here is the code used in this lesson
Module Accounts {
Bool performLogin (String username, String password) {
if (username == null || username.trim().length() < 1) {
broker.ui.showAlert(“Oops”, “Please enter your username.”)
return false
}
if (password == null || password.length() < 1) {
broker.ui.showAlert(“Oops”, “Please enter your password.”)
return false
}
Filter userNameFilter = Filter(modelName: "User")
userNameFilter.equalTo("name", username.trim())
Array existingUsers = broker.cloudPersistence.getWithFilter(userNameFilter)
if (existingUsers.size() == 0) {
broker.ui.showAlert(“Oops”, "There's no user with username: " + username)
return false
}
User user = existingUsers.get(0)
if (user.password != password) {
broker.ui.showAlert(“Oops”, "The password you have entered is wrong.")
return false
}
return true
}
}
RuleContext LoginContext {
Rule login {
Login loginExp = broker.ui.getDataSource()
if (Accounts.performLogin(loginExp.username, loginExp.password) == true) {
Welcome welcomeDataSource = Welcome()
welcomeDataSource.greetings = "Welcome " + loginExp.username + " to the treasure hunt app!"
broker.ui.push(“Welcome”, welcomeDataSource)
}
}
}