{"id":21130040,"url":"https://github.com/coreform/android-formidable-validation","last_synced_at":"2025-07-09T01:32:09.353Z","repository":{"id":4422395,"uuid":"5560205","full_name":"coreform/android-formidable-validation","owner":"coreform","description":"Form validation and feedback library for Android. Provides .setText for more than just TextView and EditText widgets. Provides easy means to validate with dependencies.","archived":false,"fork":false,"pushed_at":"2012-10-30T23:42:13.000Z","size":535,"stargazers_count":146,"open_issues_count":1,"forks_count":35,"subscribers_count":18,"default_branch":"master","last_synced_at":"2023-11-07T21:01:43.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coreform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-26T13:32:07.000Z","updated_at":"2023-08-13T11:32:45.000Z","dependencies_parsed_at":"2022-08-06T16:15:35.570Z","dependency_job_id":null,"html_url":"https://github.com/coreform/android-formidable-validation","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreform%2Fandroid-formidable-validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreform%2Fandroid-formidable-validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreform%2Fandroid-formidable-validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreform%2Fandroid-formidable-validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coreform","download_url":"https://codeload.github.com/coreform/android-formidable-validation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225476377,"owners_count":17480215,"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":[],"created_at":"2024-11-20T05:32:13.191Z","updated_at":"2024-11-20T05:32:16.397Z","avatar_url":"https://github.com/coreform.png","language":"Java","funding_links":[],"categories":["Libs"],"sub_categories":["\u003cA NAME=\"Widget\"\u003e\u003c/A\u003eWidget"],"readme":"android-formidable-validation\n=============================\n\nForm validation and feedback library for Android. Provides .setText for more than just TextView and EditText widgets. Provides easy means to validate with dependencies.\n\nAssigning ValueValidators and DependencyValidators to the ValidationManager is simple:\n```\n//setup validation\nmValidationManager = new ValidationManager(this);\n\nmValidationManager.add(\"understood\", new CheckBoxRequiredValueValidator(mUnderstoodCheckBox, \"You must acknowledge that this form does not submit data anywhere and that it is simply for demonstration purposes.\"));\nmValidationManager.add(\"addressLine1\", new RegExpressionValueValidator(mAddressLine1EditText, \"^[a-zA-Z0-9\\\\-'\\\\s]{3,}$\", \"please enter your address.\"));\nmValidationManager.add(\"signupNewsletter\");\nmValidationManager.add(\"countrySpinner\", new SpinnerRequiredValueValidator(mCountrySpinner, \"please select a country.\"));\nmValidationManager.add(\"emailAddress\", new CheckBoxCheckedDependencyValidator(mEmailEditText, \"signupNewsletter\", mSignupNewsletterCheckBox, true, false, \"Please enter your email address to signup to the newsletter list.\"));\nmValidationManager.add(\"emailAddress\", new RegExpressionValueValidator(mEmailEditText, \"^([0-9a-zA-Z]([-\\\\.\\\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\\\w]*[0-9a-zA-Z]\\\\.)+[a-zA-Z]{2,9})$\", \"Email address must be valid.\"));\nmValidationManager.add(\"favouriteColour\", new ColourPickerButtonValueValidator(mFavouriteColourButton, true));\nmValidationManager.add(\"exampleSetErrorAbleButton\", new ColourPickerButtonValueValidator(mExampleSetErrorAbleButton, true));\nmValidationManager.add(\"exampleSetErrorAbleEditText\", new RegExpressionValueValidator(mExampleSetErrorAbleEditText, \"^[a-zA-Z0-9\\\\-'\\\\s]{3,}$\", \"please enter your address.\"));\n```\n\nAnd validating the form is just  a matter of:\n\n```\nmValidationManager.validateAllAndSetError();\n```\n\n### Some example screenshots:\n\n![Example 01: ValidationManager automatically calls setError on a Button.][example01]\n![Example 02: ValidationManager automatically calls betterSetError on a SetErrorAbleButton.][example02]\n![Example 03: ValidationManager automatically calls betterSetError on a SetErrorAbleCheckBox.][example03]\n![Example 04: ValidationManager automatically calls setError on an EditText.][example04]\n![Example 05: ValidationManager automatically calls betterSetError on a SetErrorAbleSpinner.][example05]\n![Example 06: ValidationManager automatically calls betterSetError on a SetErrorAbleEditText.][example06]\n![Example 07: ValidationManager automatically calls setError on an EditText due to a validation dependent on a checked CheckBox.][example07]\n\n[example01]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example01.png \"Example 01: ValidationManager automatically calls setError on a Button.\"\n[example02]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example02.png \"Example 02: ValidationManager automatically calls betterSetError on a SetErrorAbleButton.\"\n[example03]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example03.png \"Example 03: ValidationManager automatically calls betterSetError on a SetErrorAbleCheckBox.\"\n[example04]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example04.png \"Example 04: ValidationManager automatically calls setError on an EditText.\"\n[example05]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example05.png \"Example 05: ValidationManager automatically calls betterSetError on a SetErrorAbleSpinner.\"\n[example06]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example06.png \"Example 06: ValidationManager automatically calls betterSetError on a SetErrorAbleEditText.\"\n[example07]: https://github.com/coreform/android-formidable-validation/raw/master/doco/android-formidable-validation_example07.png \"Example 07: ValidationManager automatically calls setError on an EditText due to a validation dependent on a checked CheckBox.\"\n\n### View the resources in Android Assets Viewer:\n\nhttp://www.cellebellum.net/AndroidAssetsViewer/?result_id=FormIdableValidation50905f3b3ee0e6.97611575\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreform%2Fandroid-formidable-validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoreform%2Fandroid-formidable-validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreform%2Fandroid-formidable-validation/lists"}