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)
        }
    }
}

> Next