Skip to content

Commit 0840a5c

Browse files
committed
regex email validator
1 parent 2f4f9d9 commit 0840a5c

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package jp.co.soramitsu.common.utils
2+
3+
import java.util.regex.Pattern
4+
5+
class EmailValidator {
6+
companion object {
7+
@JvmStatic
8+
private val pattern = Pattern.compile(
9+
"^[a-z0-9!#\$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#\$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\$",
10+
Pattern.CASE_INSENSITIVE
11+
)
12+
13+
@JvmStatic
14+
fun isValid(emailStr: String): Boolean {
15+
val matcher = pattern.matcher(emailStr)
16+
return matcher.find()
17+
}
18+
}
19+
}

feature-crowdloan-impl/src/main/java/jp/co/soramitsu/feature_crowdloan_impl/presentation/contribute/custom/referral/ReferralContributeViewState.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package jp.co.soramitsu.feature_crowdloan_impl.presentation.contribute.custom.referral
22

33
import jp.co.soramitsu.common.resources.ResourceManager
4+
import jp.co.soramitsu.common.utils.EmailValidator
45
import jp.co.soramitsu.feature_crowdloan_impl.R
56
import jp.co.soramitsu.feature_crowdloan_impl.data.network.api.parachain.FLOW_FEARLESS_REFERRAL
67
import jp.co.soramitsu.feature_crowdloan_impl.data.network.api.parachain.FLOW_TERMS_URL
@@ -80,7 +81,7 @@ abstract class ReferralContributeViewState(
8081
isAcala -> enteredEmailFlow.combine(emailAgreedFlow) { input, agreed ->
8182
when {
8283
!agreed -> true
83-
input.length > 2 && agreed -> true
84+
EmailValidator.isValid(input) && agreed -> true
8485
else -> false
8586
}
8687
}

0 commit comments

Comments
 (0)