File tree Expand file tree Collapse file tree 2 files changed +26
-5
lines changed
app/src/main/java/simform/gitexcercise/android Expand file tree Collapse file tree 2 files changed +26
-5
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import android.widget.Toast
6
6
import androidx.appcompat.app.AppCompatActivity
7
7
import simform.gitexcercise.android.databinding.ActivityLoginBinding
8
8
import simform.gitexcercise.android.validation.Validator
9
+ import simform.gitexcercise.android.validation.Validator.ValidLogin
9
10
10
11
class LoginActivity : AppCompatActivity () {
11
12
@@ -30,19 +31,23 @@ class LoginActivity : AppCompatActivity() {
30
31
private fun performLogin () = with (binding) {
31
32
val txtEmail = etEmail.text.trim().toString()
32
33
val txtPassword = etPassword.text.trim().toString()
33
- if (Validator .isValidEmail( txtEmail)) {
34
- if ( Validator .isValidPassword(txtPassword)) {
34
+ when (Validator .isValidLogin(email = txtEmail, password = txtPassword )) {
35
+ ValidLogin . VALID -> {
35
36
Toast .makeText(
36
37
this @LoginActivity,
37
38
getString(R .string.msg_login_successfully),
38
39
Toast .LENGTH_SHORT
39
40
).show()
40
41
gotoProfile()
41
- } else {
42
+ }
43
+
44
+ ValidLogin .INVALID_EMAIL -> {
45
+ etEmail.error = getString(R .string.errr_valid_email)
46
+ }
47
+
48
+ ValidLogin .INVALID_PASSWORD -> {
42
49
etPassword.error = getString(R .string.err_password_8_chars)
43
50
}
44
- } else {
45
- etEmail.error = getString(R .string.errr_valid_email)
46
51
}
47
52
}
48
53
Original file line number Diff line number Diff line change @@ -7,6 +7,22 @@ object Validator {
7
7
const val MAX_LENGTH = 16
8
8
}
9
9
10
+ enum class ValidLogin {
11
+ VALID , INVALID_EMAIL , INVALID_PASSWORD
12
+ }
13
+
14
+ fun isValidLogin (email : String , password : String ): ValidLogin {
15
+ return if (isValidEmail(email)) {
16
+ return if (isValidPassword(password)) {
17
+ ValidLogin .VALID
18
+ } else {
19
+ ValidLogin .INVALID_PASSWORD
20
+ }
21
+ } else {
22
+ ValidLogin .INVALID_EMAIL
23
+ }
24
+ }
25
+
10
26
fun isValidEmail (email : String ) =
11
27
email.isNotEmpty() && android.util.Patterns .EMAIL_ADDRESS .matcher(email).matches()
12
28
You can’t perform that action at this time.
0 commit comments