Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added TextInputLayout extension #49

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 109 additions & 25 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ dependencies {
implementation Deps.support_appcompat_v7
implementation Deps.constraint_layout
implementation Deps.support_annotations
implementation Deps.support_desgign

// Unit Testing
testImplementation 'junit:junit:4.12'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,10 @@ import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import com.wajahatkarim3.easyvalidation.core.collection_ktx.nonEmptyList
import com.wajahatkarim3.easyvalidation.core.rules.GreaterThanRule
import com.wajahatkarim3.easyvalidation.core.rules.MinLengthRule
import com.wajahatkarim3.easyvalidation.core.view_ktx.*
import com.wajahatkarim3.easyvalidation.toasts.view_ktx.maxLengthToast
import com.wajahatkarim3.easyvalidation.toasts.view_ktx.nonEmptyToast
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.activity_main.textInputLayout

class MainActivity : AppCompatActivity() {

Expand Down Expand Up @@ -101,9 +97,9 @@ class MainActivity : AppCompatActivity() {
// edittext.error = "Invalid web URL!"

edittext.validator()
.atleastOneNumber()
.atleastOneSpecialCharacters()
.atleastOneUpperCase()
.atLeastOneNumber()
.atLeastOneSpecialCharacters()
.atLeastOneUpperCase()
.addErrorCallback {
edittext.error = it
}
Expand Down
19 changes: 13 additions & 6 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,25 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />

<EditText
android:id="@+id/editText3"
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_marginTop="16dp"
android:layout_marginRight="24dp"
android:hint="Enter any text here!"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
app:layout_constraintTop_toBottomOf="@+id/editText2">
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Enter any text here!"
/>
</android.support.design.widget.TextInputLayout>


<Button
android:id="@+id/btnEmpty"
Expand All @@ -55,7 +62,7 @@
android:text="Empty"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText3" />
app:layout_constraintTop_toBottomOf="@+id/textInputLayout" />

<Button
android:id="@+id/btnMinLength"
Expand Down Expand Up @@ -99,4 +106,4 @@
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />

</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
2 changes: 1 addition & 1 deletion buildSrc/src/main/java/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ object Deps {
val android_ktx = "androidx.core:core-ktx:0.3"
val parceler = "org.parceler:parceler-api:1.1.9"
val parceler_compiler = "org.parceler:parceler:1.1.9"
}
}
4 changes: 2 additions & 2 deletions easyvalidation-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ dependencies {

// Support
implementation Deps.support_appcompat_v7

implementation Deps.support_desgign
// Unit Testing
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
Expand All @@ -79,4 +79,4 @@ if (project.rootProject.file('local.properties').exists())
{
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -174,21 +174,21 @@ class Validator(val text: String)
return this
}

fun atleastOneUpperCase(errorMsg:String? = null) : Validator
fun atLeastOneUpperCase(errorMsg:String? = null) : Validator
{
val rule = errorMsg?.let {AtLeastOneUpercCaseRule(errorMsg)}?: AtLeastOneUpercCaseRule()
addRule(rule)
return this
}

fun atleastOneLowerCase(errorMsg:String? = null) : Validator
fun atLeastOneLowerCase(errorMsg:String? = null) : Validator
{
val rule = errorMsg?.let {AtLeastOneLowerCaseRule(errorMsg)}?: AtLeastOneLowerCaseRule()
addRule(rule)
return this
}

fun atleastOneNumber(errorMsg:String? = null) : Validator
fun atLeastOneNumber(errorMsg:String? = null) : Validator
{
val rule = errorMsg?.let {AtLeastOneNumberCaseRule(errorMsg)}?: AtLeastOneNumberCaseRule()
addRule(rule)
Expand Down Expand Up @@ -230,7 +230,7 @@ class Validator(val text: String)
return this
}

fun atleastOneSpecialCharacters(errorMsg:String? = null) : Validator
fun atLeastOneSpecialCharacters(errorMsg:String? = null) : Validator
{
val rule = errorMsg?.let {AtleastOneSpecialCharacterRule(errorMsg)}?: AtleastOneSpecialCharacterRule()
addRule(rule)
Expand Down Expand Up @@ -331,4 +331,4 @@ class Validator(val text: String)
addRule(rule)
return this
}
}
}
Loading