{"id":19197884,"url":"https://github.com/flarebyte/validomix","last_synced_at":"2025-09-09T13:45:35.438Z","repository":{"id":243501261,"uuid":"812500111","full_name":"flarebyte/validomix","owner":"flarebyte","description":"From Strings to Objects Validomix validates all","archived":false,"fork":false,"pushed_at":"2024-09-25T05:46:57.000Z","size":782,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-04T10:23:30.199Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flarebyte.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-09T04:24:59.000Z","updated_at":"2024-09-25T05:38:34.000Z","dependencies_parsed_at":"2024-06-09T12:45:45.502Z","dependency_job_id":"1d507391-fdfe-43f4-bba4-2587ff7e3bad","html_url":"https://github.com/flarebyte/validomix","commit_stats":null,"previous_names":["flarebyte/validomix"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flarebyte%2Fvalidomix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flarebyte%2Fvalidomix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flarebyte%2Fvalidomix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flarebyte%2Fvalidomix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flarebyte","download_url":"https://codeload.github.com/flarebyte/validomix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240271540,"owners_count":19774859,"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-09T12:19:09.485Z","updated_at":"2025-02-23T05:12:49.007Z","avatar_url":"https://github.com/flarebyte.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# validomix\n\n![Experimental](https://img.shields.io/badge/status-experimental-blue)\n\n\u003e From Strings to Objects Validomix validates all\n\nThe Validomix library is designed to enforce validation rules on strings,\ntriggered by various events, and to produce custom messages. It applies a\nseries of validation rules, such as size and format checks, to input strings\nthrough a rule enforcement system.\n\n![Hero image for validomix](doc/validomix.jpeg)\n\nHighlights:\n\n-   Validation of strings, numbers, or lists.\n-   Produce custom messages for errors and successes.\n-   Rules can be serialized as JSON.\n-   Invalid configurations are captured in metrics.\n-   Inventory of the rules is available.\n-   Fully extendable.\n\nA few examples:\n\nCreate an inventory used to keep track of rules:\n\n```dart\nfinal optionsInventory = VxOptionsInventory()\n```\n\nCreate a string rule:\n\n```dart\nfinal rule = VxStringRules.charsLessThan\u003cString\u003e(name: 'test',\nmetricStoreHolder: metricStoreHolder, optionsInventory: optionsInventory,\nfailureProducer: SimpleMessageProducer('Too many characters'));\n```\n\n## Documentation and links\n\n-   [Code Maintenance :wrench:](MAINTENANCE.md)\n-   [Code Of Conduct](CODE_OF_CONDUCT.md)\n-   [Contributing :busts\\_in\\_silhouette: :construction:](CONTRIBUTING.md)\n-   [Architectural Decision Records :memo:](DECISIONS.md)\n-   [Contributors\n    :busts\\_in\\_silhouette:](https://github.com/flarebyte/validomix/graphs/contributors)\n-   [Dependencies](https://github.com/flarebyte/validomix/network/dependencies)\n-   [Glossary\n    :book:](https://github.com/flarebyte/overview/blob/main/GLOSSARY.md)\n-   [Software engineering principles\n    :gem:](https://github.com/flarebyte/overview/blob/main/PRINCIPLES.md)\n-   [Overview of Flarebyte.com ecosystem\n    :factory:](https://github.com/flarebyte/overview)\n-   [Dart dependencies](DEPENDENCIES.md)\n-   [Usage](USAGE.md)\n-   [Example](example/example.dart)\n\n## Related\n\n-   [form\\_validator](https://pub.dev/packages/form_validator)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflarebyte%2Fvalidomix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflarebyte%2Fvalidomix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflarebyte%2Fvalidomix/lists"}