Here is the code for RegistrationActivity:
class RegistrationActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_registration)
}
}
Now add some logic to validate the username, password, and email id. Here is the code:
private fun validateName(): Boolean {
if (username_input_reg.text.toString().trim().isEmpty()) {
username_title_reg.error = getString(R.string.err_msg_name)
requestFocus(username_input_reg)
return false
} else {
username_title_reg.isErrorEnabled = false
}
return true
}
private fun validateEmail(): Boolean {
if (email_input_reg.text.toString().trim().isEmpty() || !isValidEmail(email_input_reg.text.toString().trim())) {
email_title_reg.error = getString(R.string.err_msg_email)
requestFocus(email_input_reg)
return false
} else {
email_title_reg.isErrorEnabled = false
}
return true
}
private fun validatePassword(): Boolean {
if (password_input_reg.text.toString().trim().isEmpty()
|| con_password_input_reg.text.toString().trim().isEmpty()) {
if (password_input_reg.text.toString().trim()
== con_password_input_reg.text.toString().trim()){
password_title_reg.error = getString(R.string.err_match_password)
requestFocus(password_title_reg)
}
password_title_reg.error = getString(R.string.err_msg_password)
requestFocus(password_title_reg)
return false
} else {
password_title_reg.isErrorEnabled = false
}
return true
}
Add a TextWatcher inner class, which will send an alert if there is any invalid input:
private inner class MyTextWatcher (private val view: View) : TextWatcher {
override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
override fun afterTextChanged(editable: Editable) {
when (view.id) {
R.id.username_input_reg -> validateName()
R.id.email_input_reg -> validateEmail()
R.id.input_password -> validatePassword()
}
}
}
When the username, password, or the email id is invalid, it will show an alert.