{"id":13610435,"url":"https://github.com/kojofosu/PasswordValidationView","last_synced_at":"2025-04-12T22:33:50.316Z","repository":{"id":122445752,"uuid":"418972768","full_name":"kojofosu/PasswordValidationView","owner":"kojofosu","description":"Android UI component to validate passwords.","archived":false,"fork":false,"pushed_at":"2023-03-15T15:48:36.000Z","size":138,"stargazers_count":97,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T05:41:22.777Z","etag":null,"topics":["android","edittext","kotlin","library","password","validation"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kojofosu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-10-19T15:00:39.000Z","updated_at":"2025-02-26T07:26:40.000Z","dependencies_parsed_at":"2023-03-25T23:48:09.702Z","dependency_job_id":null,"html_url":"https://github.com/kojofosu/PasswordValidationView","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kojofosu%2FPasswordValidationView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kojofosu%2FPasswordValidationView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kojofosu%2FPasswordValidationView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kojofosu%2FPasswordValidationView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kojofosu","download_url":"https://codeload.github.com/kojofosu/PasswordValidationView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248642119,"owners_count":21138338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","edittext","kotlin","library","password","validation"],"created_at":"2024-08-01T19:01:44.675Z","updated_at":"2025-04-12T22:33:50.065Z","avatar_url":"https://github.com/kojofosu.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# PasswordValidationView\n![Jit](https://img.shields.io/jitpack/v/github/kojofosu/PasswordValidationView?style=for-the-badge\u0026color=2F9319) \n\nAndroid UI component that  validates passwords.\n\nAll design credits goes to [Piotr Sliwa](https://dribbble.com/dslv) And inspired by [this design](https://dribbble.com/shots/4957240-Fintech-Onboarding-Principles/attachments/10692818?mode=media)\n\n![inpsired-design](https://user-images.githubusercontent.com/20203694/137953838-5b68f10d-9924-43de-b6b1-8a0d3600850f.gif)\n\n## Demo \n\u003cimg src=\"https://user-images.githubusercontent.com/20203694/137968459-52de55ea-59a0-4e3d-bffe-1203e0baa68a.gif\" alt=\"demo\"  width=\"300\" /\u003e\n\n\nhttps://user-images.githubusercontent.com/20203694/225364687-88e0047a-bb17-4636-bec3-6c6a7c1c5ea2.mp4\n\n\n## Setup\n\nAdd it in your root `build.gradle` at the end of repositories:\n\n```groovy\nallprojects {\n    repositories {\n        //...omitted for brevity\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\n\n\nAdd the dependency\n\n```groovy\ndependencies {\n   implementation \"com.github.kojofosu:PasswordValidationView:$latest_release\"\n}\n```\n\n## Usage\nSample implementation [here](app/)\n\n### Password Validation View\n- Add `PasswordValidationView` to your xml layout.\n\n```xml\n    \u003ccom.mcdev.passwordvalidationview.PasswordValidationView\n        android:id=\"@+id/password_validation_view\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"/\u003e\n```\n\n#### :bulb: `Important` : To avoid the soft keyboard from covering the password validation view, place the view inside a `TextInputLayout` \n\n```xml\n    \u003c!-- The text input layout--\u003e\n    \u003ccom.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:hint=\"Password\"\u003e\n        \n        \u003c!-- The text input edit text for the password --\u003e\n        \u003ccom.google.android.material.textfield.TextInputEditText\n            android:id=\"@+id/password_et\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:inputType=\"textPassword\"\n            android:layout_margin=\"20dp\"/\u003e\n        \n        \u003c!-- The passwrod validation view --\u003e\n        \u003ccom.mcdev.passwordvalidationview.PasswordValidationView\n            android:id=\"@+id/pvv\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"/\u003e\n    \u003c/com.google.android.material.textfield.TextInputLayout\u003e\n```\n\n### Initialize and customise PasswordValidationView\n\n```kotlin\n        val passEditText = findViewById\u003cEditText\u003e(R.id.password_et) // edittext for the password\n        val validationView = findViewById\u003cPasswordValidationView\u003e(R.id.pvv) //PasswordValidationView\n\n        validationView.passwordEditText = passEditText //Pass the edittext of for the password to validate\n        validationView.passwordMinLength = 10 //minimum password length\n        validationView.enabledColor = android.R.color.holo_orange_dark //change valid password activation color\n```\n\n### Check if password is complete and valid\n```kotlin\n    validationView.setOnValidationListener {\n        button.isEnabled = it //returns true if password is complete and valid\n    }\n```\n\n\n### Licensed under the [Apache-2.0 License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkojofosu%2FPasswordValidationView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkojofosu%2FPasswordValidationView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkojofosu%2FPasswordValidationView/lists"}