Login validation
Here is the code used in this lesson
Module Accounts {
Bool validateSignUp (SignUp signUpExp) {
if (signUpExp.username.trim() == "" || signUpExp.username.length() < 3) {
broker.ui.showAlert(“Oops”, “At least 3 characters are required for your username.”)
return false
}
if (signUpExp.password == null || signUpExp.password.length() < 6) {
broker.ui.showAlert(“Oops”, “At least 6 characters are required for your password.”)
return false
}
if (signUpExp.password != signUpExp.repeatPassword) {
broker.ui.showAlert(“Oops”, “The passwords you have entered are not the same.”)
return false
}
Filter userNameFilter = Filter(modelName: "User")
userNameFilter.equalTo("name", signUpExp.username)
Array existingUsers = broker.cloudPersistence.getWithFilter(userNameFilter)
if (existingUsers.size() > 0) {
broker.ui.showAlert(“Oops”, “The username already exists, please try another one.”)
return false
}
return true
}
}
RuleContext SignUpContext {
Rule createAccount {
SignUp signUpExp = broker.ui.getDataSource()
if (Accounts.validateSignUp(signUpExp)) {
User newUser = User()
newUser.name = signUpExp.username.trim()
newUser.password = signUpExp.password
broker.cloudPersistence.save(newUser)
broker.ui.showAlert("Congratulations!", "Your account has been created successfully, please login now.")
broker.ui.pop()
}