Object-oriented package for validating Flutter form fields.

Overview

formdator

EO-Color logo

EO principles respected here DevOps By Rultor.com

pub license PDD status

build codecov CodeFactor Grade style: lint Hits-of-Code

Contents

Overview

Form Validator — Formdator is a fully object-oriented package for validating Flutter form fields. Its main benefits, compared to all other similar packages, include:

  • Dependency-free: there is only pure Dart code.
  • Object-oriented mindset: the elements for validation are immutable objects that can be combined in various configurations.
  • Classes with short — yet meaningful — names like Req for required fields; ReqEmail for non-empty, well-formed emails; Len for length constraints; Int for integer-only values; and so on.
  • Easy-to-compose validators: e.g., the command Trim(Email()) produces a validator that trims an email value before validating it.
  • Multiple validation at once: you can apply multiple validation rules at once by using the Pair or Rules classes.
  • Built-in set of compound validators: e.g., to validate an email and limit its length to a maximum of 50 characters, simply use an instance of Email.len(50)write less; do more!

For easier integration with Flutter form fields, every validator implements the call() method. As a result, any validator object can be called as a function — Callable Classes.

Getting Started

The following code snippet demonstrates how you can easily group the Rules, Req, Len and Email classes together to create a kind of 'email-max-50-characters' constraint.

  @override
  Widget build(BuildContext context) {
    return TextFormField(
      validator: Rules<String>([ // The "Rules" class performs multiple validations at once.
        Req(blank: 'Please enter the email'), // "blank" is the error message in case of field left blank.
        Len.max(50, long: 'Email length cannot exceed 50 characters'), // "long" is the error message if an input value is too long.
        Email(mal: 'Malformed email'), // "mal" is the error message in case of malformed email.
      ]),
    );
  }

Or — even better — use the compound validator ReqEmail to perform the same task.

  @override
  Widget build(BuildContext context) {
    return TextFormField(
      validator: ReqEmail.len(
        50,
        blank: 'Please enter the email',
        mal: 'Malformed email',
        long: 'Email length cannot exceed 50 characters',
      ),
    );
  }

The shorter command ReqEmail.len(50) is equivalent to the much longer command Rules<String>([Req(), Len.max(50), Email()]) — write less; do more!

List of Validators

For a complete list of validators with detailed information about each one (constructors, parameters, etc.):

Grouped by Category

  • brazil — validators related to Brazil (BrMobile, BrPhone, Cep, Cnpj, Cpf, etc.).
  • core — core validators (Len, Match [text pattern], Pair, Req, Rules, Trim, etc.).
  • logic — validation logic and unit testing (Equal, Ok, Nok, ValueBack).
  • net — internet (Email, Ipv4, Ipv6, MacAddr, Url, etc.).
  • numeric — validators related to numbers or digits (Digit, Hex, Int, Num, etc.).

Demo application

The demo application provides a fully working example, focused on demonstrating exactly four validators in action — Pair, ReqLen, ReqEmail, and Equal. You can take the code in this demo and experiment with it.

To run the demo application:

git clone https://github.com/dartoos-dev/formdator.git
cd formdator/example/
flutter run -d chrome

This should launch the demo application on Chrome in debug mode.

formdator-demo-app

References

You might also like...

Counter provider - App para practicar el disenio de layouts con widgets mas comunes containers, stacks, row/columns, text fields

Counter provider - App para practicar el disenio de layouts con widgets mas comunes containers, stacks, row/columns, text fields

App para practicar el disenio de layouts con widgets mas comunes containers, sta

Feb 16, 2022

Real-time object detection in Flutter using camera and tflite plugin

Real-time object detection in Flutter using camera and tflite plugin

For details: https://medium.com/@shaqian629/real-time-object-detection-in-flutter-b31c7ff9ef96 flutter_realtime_detection Real-time object detection i

Oct 12, 2022

Flutter realtime object detection with Tensorflow Lite

Flutter realtime object detection with Tensorflow Lite

Flutter realtime object detection with Tensorflow Lite Flutter realtime object d

Dec 25, 2021

A Flutter 3D widget that renders Wavefront's object files.

A Flutter 3D widget that renders Wavefront's object files.

Flutter Cube A Flutter 3D widget that renders Wavefront's object files. Getting Started Add flutter_cube as a dependency in your pubspec.yaml file. de

Dec 22, 2022

This is a flutter plugin to detect edges in a live camera, take the picture of detected edges object, crop it, and save.

This is a flutter plugin to detect edges in a live camera, take the picture of detected edges object, crop it, and save.

edge_detection A flutter plugin to detect edges of objects, scan paper, detect corners, detect rectangles. It allows cropping of the detected object i

Dec 28, 2022

Receiving ozh's github-colors repository with latest commit of colors.json to Flutter's Color object.

Receiving ozh's github-colors repository with latest commit of colors.json to Flutter's Color object.

Apply GitHub's languages colours into Flutter's Color object. Receiving ozh's github-colors repository with latest commit of colors.json to Flutter's

Jun 6, 2022

Return a result ErrorOr with either a value T or an error Object.

ErrorOr Return a result ErrorOr with either a value T or an error Object. Features Always return a value ErrorOr from an async function. Let the calle

Nov 6, 2022

🎯 This library automatically generates object classes from JSON files that can be parsed by the freezed library.

🎯 This library automatically generates object classes from JSON files that can be parsed by the freezed library.

The Most Powerful Way to Automatically Generate Model Objects from JSON Files ⚡ 1. Guide 🌎 1.1. Features 💎 1.1.1. From 1.1.2. To 1.2. Getting Starte

Nov 9, 2022

Music-App-Flutter - This is a flutter app which has some songs displayed in the form of a list and user can play any of them by clicking on the name of the song.

Music-App-Flutter - This is a flutter app which has some songs displayed in the form of a list and user can play any of them by clicking on the name of the song.

music_player_app A music player app made by me in flutter About the App This is a music player which i made to play audio files which we have passed i

Apr 1, 2021
Releases(1.1.0)
  • 1.1.0(Jun 20, 2022)

    See #160, release log:

    • acd408db78df0e89231682c5af5917ab26088475 by @rultor: version 1.1.0
    • 2aaa8c044958ed5d464da885cfed5a6effa426f6 by @rafamizes: feat: URL validation classes '...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Jan 9, 2022)

    See #158, release log:

    • c2280cb529ce78de95475c9f31a7159a100a3e28 by @rultor: version 1.0.0
    • 0157f2a99498de1af771bcda3a13a0a646c99ca6 by @rafamizes: doc(README): create 'Contribut...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.12.4(Dec 20, 2021)

    See #155, release log:

    • 0f2e2ad55979c496de13f77f10f38028417aff59 by @rultor: version 0.12.4
    • 6598357c418be8e26dbab86fb3012989c091600a by @rafamizes: style: run Dart format
    • 0c4ba3fba95f2362ccb76e00b99b9cc6b4de8134 by @rafamizes: feat: create validators for MA...
    • 24b556ab6fcff96eab035397823ad7d22bb4b60e by @rafamizes: feat: create validation for IP...
    • e926d9854a1c4d038076c1826ae99f201a25c08b by @rafamizes: style: stricter lint rules Clo...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.12.3(Dec 18, 2021)

    See #150, release log:

    • e373b201675f0e501ba21a9e249bfc8b6b3a4ad6 by @rultor: version 0.12.3
    • d99763056f911eb7e600c9ffa20e07584b64dccc by @rafamizes: feat: create validator for IPv...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.12.2(Dec 15, 2021)

    See #148, release log:

    • 3dc92b153f27ae491bb4ebf1a5baf4dfbcf58e90 by @rultor: version 0.12.2
    • b2b9a9e18a34a59ccfd515d1f19c96ddf70ab8e1 by @rafamizes: style: remove redundant import...
    • cd70bc7c028d662775ab6b6e37df335293df1070 by @rafamizes: fix: running demo app on Andro...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.12.1(Sep 7, 2021)

    See #145, release log:

    • 4f2945765d6eb8cedb2fcabe9d22650129e0ee43 by @rultor: version 0.12.1
    • 937e3a9714ad6556bd598352842376b9e8f50bf7 by @rafamizes: Update CHANGELOG.md
    • 91dceb08413d21e385cfa17b2c0e60809d88b892 by @rafamizes: Update README.md
    • 69866854bad59dfcc23127b5b725987e2f23efcf by @rafamizes: feat: increase the length of t...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.12.0(Sep 3, 2021)

    See #142, release log:

    • ce18ae7b6d3d9ac54f74282e1f599b5c3dbe1fe8 by @rultor: version 0.12.0
    • 7b29770b13df8d75ca960b1e7da8711b37e56929 by @rafamizes: Update README.md
    • 394d0ff1a932ed8f1e8729fa5c383daae1f0ffdf by @rafamizes: refactor!: rename params 'less...

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.11.2(Sep 2, 2021)

    See #138, release log:

    • b17fbcbe6425dd7e856b25e977d3d05222c0effd by @rultor: version 0.11.2
    • c775fdba0589b8bb450f221366085834b7a2913d by @rafamizes: Update README.md
    • 8b5f0c07f3ea8423360663dd7493617bfe8199c9 by @rafamizes: doc(README): better examples C...
    • 965b729880674e63c29d3c2960a8114102538c62 by @rafamizes: refactor: stricter linting rul...
    • f169b8607741e43494bebc5e43473f7451a17280 by @rafamizes: Update README.md

    Released by Rultor 1.70.6, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.11.1(Aug 14, 2021)

    See #133, release log:

    • ae5ff9e77854785e61a42e534f49d61d6961127a by @rultor: version 0.11.1
    • ada5d5efa94c19a4c372d5b0574886a748468600 by @rafamizes: Update CHANGELOG.md
    • e16753475b75465e0496eceb56bb85a9c469a2c5 by @rafamizes: Update README.md

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Aug 14, 2021)

    See #132, release log:

    • 0f98f459aa01f96780fbefc65892207acb3b95d0 by @rultor: version 0.11.0
    • cefaad63cd54cde3ebd938afb17e06a3c8f89060 by @rafamizes: Update README.md
    • c0071ae811c389d1c462afaceffa5d9dc7599d5f by @rafamizes: refactor!: remove 'call' metho...
    • 14a2e1761d7c87caf8262d5f59264a8357f4c05d by @rafamizes: feat: classes ReqBrPhone and R...
    • 7ce7c7459b440577ed471bbacdea84d0bc496b54 by @rafamizes: feat: BrMobile validator (#127...
    • 62c0dded07a6b72f86d7fbe117b6329fd6e106a2 by @rafamizes: feat: BrPhone validator Closes...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Aug 10, 2021)

    See #125, release log:

    • e0b12bfea75ce9f184ebc95008a6c71c1fa99338 by @rultor: version 0.10.0
    • 651dffd8442e7873cbf74ea75049775531734b5c by @rafamizes: Update CHANGELOG.md
    • 975cc33ba8998525e3f03d585b8d27dd7064e868 by @rafamizes: refactor! rename the "non" par...
    • 964e57d7275c31aa256a7137baeca3143807402d by @rafamizes: refactor!: rename "non" param....
    • 07a9c51f2efb16da9b523f64497363dcac406448 by @rafamizes: refactor: rename "non" param. ...
    • 17c09fb83d6c977a5fa99964dbd4eb5bb3a5bed0 by @rafamizes: refactor: rename "non" param. ...
    • bc7f4848dc212a80da17b79198c8324a81476cf4 by @rafamizes: refactor: turn it into a depen...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Aug 10, 2021)

    See #119, release log:

    • 3cb0a64d3c7926460ee6754310581a84320eef02 by @rultor: version 0.9.0
    • 4b4991c78e7ab90a2b9962a33003e14b4c3b142c by @rafamizes: feat: Num.pos and Num.neg cons...
    • fc663dadd1aa0c0999722fa0ae4bc4307a96bcb1 by @rafamizes: build(rultor): unset squash fl...
    • 930cc01b1829f5cb707522d2c8e94a64a3c93887 by @rafamizes: refactor! rename the error mes...
    • fd5b06daae17ba59c1b2858cfddeedaa106edd9c by @rultor: refactor! rename the error mes...
    • e18ee2ab5984d274ff4d0d0b200de5fff06d9a8a by @rafamizes: build(rultor): set squash merg...
    • 93354a3dad6df488c85b395a7f11e654799e58d0 by @rafamizes: fix unit tests
    • d2c1864841c26abf3185b0c0c3bb51a2d69b9805 by @rafamizes: feat: Int and ReqInt, integer ...
    • 7b7d23d8800952839eeeab57733d3d1b2e8a7e65 by @rafamizes: refactor: stricter lint rules ...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.8.2(Jul 30, 2021)

    See #106, release log:

    • ecdf28e255b03201ea2333f4f30771a51ba7da1b by @rultor: version 0.8.2
    • 0776b5c969d0fb60d4eb56dd762cdfca350862b5 by @rafamizes: doc(CHANGELOG): fix typo
    • ebfb494b21fce5f47c9c87769f6f87e8bd47ff50 by @rafamizes: Update README.md
    • d6249e85a0e43e03b293ad7fb0be788339117614 by @rafamizes: refactor: remove dependency on...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Jul 26, 2021)

    See #103, release log:

    • e61e153bd4c43c1cedbc8bd680b6cd57053ae0cd by @rultor: version 0.8.1
    • 985dfd84251644c3d0ebddb339561b7fc585f355 by @rafamizes: feat: create Hex and ReqHex va...
    • a8e7deff4ae4dfb54c2a9d25106dc6322c6b5050 by @rafamizes: feat: Match and ReqMatch for t...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Jul 23, 2021)

    See #100, release log:

    • 9c9e26137fe36e07fcf6b25fac3f0b8eb1416507 by @rultor: version 0.8.0
    • ab7084783d38cb5419df78daba4defd7a0a052f2 by @rafamizes: refactor!: reorganization of t...
    • d41616fd58fe66a1923aa088dae232b639706fec by @rafamizes: doc(CHANGELOG): fix typo
    • ec0f4717cf47c7aa724c938f520926666bad0c7f by @rafamizes: Update CHANGELOG.md

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.7.3(Jul 23, 2021)

    See #91, release log:

    • 261166e11227b37dd57e35ab09a556d409f5983b by @rultor: version 0.7.3
    • dafce22417952a84d7da4723945318f941826d46 by @rafamizes: doc(CHANGELOG): add README imp...
    • 85a00325d6634c2613daf55440e0072a0b8dd2f0 by @rafamizes: doc(README): some improvements...
    • 7746a1b01bb36087bccc738b350618d4ca45e98d by @rafamizes: doc: fix typo

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.7.2(Jul 22, 2021)

    See #88, release log:

    • 669758cd2b0bfa78b8516b4e8a039ac871991857 by @rultor: version 0.7.2
    • 75c1ee980362d2ecd361d6d9c7dd838c39c34f76 by @rafamizes: doc(README): add the package's...
    • d264ae641e55e08cf5764fae13bdacc2ae49f79e by @rafamizes: doc(README) improved content (...
    • f0e32541bead3fe2b081664ed61013ecccf347b7 by @rafamizes: feat: Validators ReqCnpj and R...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.7.1(Jul 21, 2021)

    See #84, release log:

    • dced2a45397c16aa8aa44c20fe4901777ae5f1b6 by @rultor: version 0.7.1
    • 07bbbb3608be6debf943d92091a1e50ede800527 by @rafamizes: refactor: encapsulate 'Num' in...
    • dad65601ea149ae38e35577b05d9d82983f80e7c by @rafamizes: build: add 'coverage:ignore' s...
    • e7c83369b64e8d5195f75539b53cda3bd4e3398b by @rafamizes: style: reformat code
    • 9988c05d84aa5d82491f36a38c726847f5538da0 by @rafamizes: feat: create the 'ReqNum' vali...
    • ea57b63fe3a5035449298c1df41da63ddbce3dfb by @rafamizes: feat: the validator ReqDigit C...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Jul 20, 2021)

    See #80, release log:

    • ee70767b61289b68afac78ce456c29e5c1d46f92 by @rultor: version 0.7.0
    • 0ec009aab4741fcc9afc8a0836b562a4e26d29b6 by @rafamizes: refactor!: remove superfluous ...
    • 72fe94cd4d6e9ed9ac105222c384b7bb0a1572ff by @rafamizes: feat: ReqLen class (#77) Close...
    • 9b6385062eb1bdbf08af592f7137e7c376af2c33 by @rafamizes: feat: ReqLen class Closes #62
    • 96d68152f418f7df6bbe3f7ac7be5e0a97282804 by @rafamizes: doc(README): fix the url of th...
    • b67e236869c14246ad9c7c6f07cfaaf219d7a2f4 by @rafamizes: refactor!: optimize the Pair a...
    • 8033a6a2efab06246f698eac5dbbcec420fd44de by @rafamizes: refactor: optimization of clas...
    • 8ca0bb226f0cab38c968072fe5a7526f462d78fd by @rafamizes: feat: Cep and ReqCep validator...
    • 6075a8aa06bc4f767b85aa325cfd98110d4fe964 by @rafamizes: refactor! rename Len's paramet...
    • 1aab19f1524cd1fc5ed9196e32257387e170ccee by @rafamizes: feat!: full impl. of the 'Digi...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Jul 15, 2021)

    See #67, release log:

    • 1abb6d6a7d3d304f79f02212c18dc5e533f6d975 by @rultor: version 0.6.0
    • 34ba658f9b340629a800be8749187e83450e53f5 by @rafamizes: feat: 'ReqEmail.len' construct...
    • 66657ad9abd39fe68a4b1fcd879e4f35a9d1ece3 by @rafamizes: feat!: Req accept validation s...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(Jul 8, 2021)

    See #55, release log:

    • 7a4a47de60965b21913bc21f3df08e3af98d614b by @rultor: version 0.5.1
    • 170e1f0604df11ca6317ca7c19bbdf2981ab114b by @rafamizes: feat: add the 'len' ctor to th...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Jul 6, 2021)

    See #52, release log:

    • 42e80778deb9d50e1bc5296cd9e3dd17f81fc634 by @rultor: version 0.5.0
    • 42d49e375e5a685cefd2e5904d80077575a1dc63 by @rafamizes: doc: update the package descri...
    • 637c60f8c3d67f2183bd7f00a7397ca7b8c565cc by @rafamizes: refactor!: update the error me...
    • 190ec52a5f3658a2b3ace4a5edabe1edd1496f46 by @rafamizes: doc(CHANGELOG): fix typo
    • c55a63619ba419bc38998bd444103e876257d8c3 by @rafamizes: refactor!: rename the validato...
    • f83a951036eef7de39e6fba3731af3fd8d7656f0 by @rafamizes: refactor!: Len class refactori...
    • 69fb2f407566b1dbf334c81bfa5ec012d219ad2c by @rafamizes: refactor!: split Num functiona...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.4.1(Jul 2, 2021)

    See #44, release log:

    • 987b450019fdf85742e750a22a1bcd5736a7d4d7 by @rultor: version 0.4.1
    • 5d7374605dc8c588ec606c051dde5e37bcd0c6aa by @rafamizes: feat: create numeric validator...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Jul 1, 2021)

    See #41, release log:

    • 223903c57f88d776bab3b6a5668b0889885973ed by @rultor: version 0.4.0
    • 20b3db9d78367845ca95d9da6fdc13cd778dd601 by @rafamizes: doc(readme): fix overview sect...
    • f9b39dfc618a03600f6f4a41cbfb92ec86f4849d by @rafamizes: chore: erase another confusing...
    • bf84d531e739f9b90b4ad23e7f39d9f7e319359a by @rafamizes: chore: erase auto generated TO...
    • 8ecfb83c5a230718d796b0c2e9ce14afcc13d265 by @rafamizes: doc(readme): new layout for th...
    • 03e5e429bf29eb2e760d699cb9ffc03af5ffa3c8 by @rafamizes: ci(rultor): sets up the merge ...
    • af30d4bf8420d7b2674187117ab25c3cb45effb6 by @rafamizes: feat!: create Len class for le...
    • 43914829e125d6e86a0318c57d95b9e3c533b9dd by @rafamizes: feat: MaxLen and MinLen valida...
    • 8792558ae74e0a62955680afe68af2c268a38bd7 by @rafamizes: doc(readme): add codefactor qu...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Jun 19, 2021)

    See #30, release log:

    • f30da9bc5f0485752c2570959017000a49b96e89 by @rultor: version 0.3.1
    • 8daab0a8fd8bc5c4d17e24972d077a7725509ba4 by @rafamizes: feat: create ReqEmail, a valid...
    • 15e0c40245c7bd17e015c4d266491a61be825d6b by @rafamizes: doc(CHANGELOG): add the packag...
    • e8cf73488fc58d0fd7a36c0c4a4a1eb7fe55ffdb by @rafamizes: build: shorter package descrip...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Jun 16, 2021)

    See #26, release log:

    • 5d7f44cc99215402a1c2a1a41d26f541b486af9d by @rultor: version 0.3.0
    • 163e31b7692df38291b6eb852f34f395cc49297c by @rafamizes: fix: repository attribute valu...
    • cd035d43e9e02a09d764df12353c7f427e338ebe by @rafamizes: chore!: rename the project nam...
    • a40a119acd937091852d30f929754c0ae31541eb by @rafamizes: doc: fix CHANGELOG

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(Jun 16, 2021)

    See #23, release log:

    • e74f04e356a7984d06176a8b157f3cf58749a828 by @rultor: version 0.2.1
    • 7597e2b5952683fb74bf62b238f8ba192afd41bb by @rafamizes: doc: change "unreleased" secti...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jun 16, 2021)

    See #22, release log:

    • 39ba209230e3c3f88195f5963ed73fe00401fa42 by @rultor: version 0.2.0
    • 2e958cc1d3411c5e8f0bf49fdde03f54a9392d6b by @rultor: doc: fix and improve README
    • e329d0d62fbbefcdc632e1ffcdb7d5c9486b6260 by @rafamizes: test: add missing tests
    • 53e73ef9820dbf5da250ca608e3e5a8cddf716e2 by @rafamizes: refactor: add default values t...
    • 9df70b5db9e75644c49c06502c0cc7277e884b6c by @rafamizes: doc: improve typdefs doc comme...
    • 4c6df0a46bf4ab6fd945187fa34724bcf53b2bd1 by @rafamizes: feat: add useful typdefs
    • 27ccab998f64bcccefaeebbf38b0ef6d4b3f18d5 by @rafamizes: refactor: rearrangement in src...
    • 706b54999f14970a3272010f047d15f5594d0f18 by @rafamizes: doc: demo application (#19) Cl...
    • 5045366507a01d6e287988562ba89e7b1f16f038 by @rafamizes: feat: add an optional extra va...
    • e11978b57415545a26877c21cde654d4904842ab by @rafamizes: test: 100% of test coverage (#...
    • 675e0e7b4996d811109f3f18c92495fad28b3981 by @rultor: test: add unit tests to achiev...
    • b5c89ab97ebec09fcd0284b08249da965c5322d7 by @rultor: refactor!: rename several clas...
    • 88825855333093449c1a11eec40b3ed5b70c5c9d by @rultor: refactor: use Lint as the lint...
    • 107da3d46eeea0c491d99f941aafe82b58903e6b by @rafamizes: refactor!: null-safety migrati...
    • 18aec82d7f985ad0d0d619b61f0d1410b238c781 by @rultor: doc: fix and improve README
    • 9dde86f9f999c9d83ce1971a29c0e2deb3123433 by @rafamizes: ressurrection (#5) Several cha...
    • d0a2a2cc8361545715d8e29fff82523c92475199 by @rafamizes: doc: add MIT license
    • 20e3a62155f2062514290b194f7adcdf83b61c22 by @rafamizes: Bump to version 0.1.3
    • 0f08565f648ed4ee279fffb623306a98554217af by @rafamizes: Export OkDt
    • 9229bc08d8f56b608a051a65a1b9f9ea208510cd by @rafamizes: Create DateTime tautology, OkD...
    • and 47 more...

    Released by Rultor 1.69.1, see build log

    Source code(tar.gz)
    Source code(zip)
Owner
Dartoos
Web and mobile software company
Dartoos
Flutter shareable package of object-oriented classes for local caching of user data in json

json_cache Json Cache is an object-oriented package to serve as a layer on top of local storage packages - packages that persist data locally on the u

Dartoos 10 Dec 19, 2022
Input fields for Flutter standalone or within a form

Flutter Input Widgets - Standalone or within a Form → flutter_input This package provides input widgets (fields) to manipulate data. The data to manip

null 7 Mar 14, 2021
A Flutter package that provides a dropdown form field using a dropdown button inside a form field.

Dropdown form field A dropdown form field using a dropdown button inside a form field. Demo Features Can be used as regular form field. Simple to impl

Carlos Eugenio Torres 72 Jan 1, 2023
Jannis 0 Jan 29, 2022
Form builder image picker - Form builder image picker for flutter

form_builder_image_picker Field for picking image(s) from Gallery or Camera for

Ferri Sutanto 0 Jan 28, 2022
User auth form - Signup and signin user auth form with ability to stay signed in and have an option to signout.

user_auth_form SIgnup and signin user authentification form Getting Started This project is a starting point for a Flutter application. A few resource

null 0 Jan 6, 2022
Snoozed, open source Flutter app. A focus oriented To-Do list with skippable tasks.

Snoozed: Skippable To Do list Download the App Apple App Store Google Play Store Video Tutorial YouTube video link Stack Front-end: Flutter Back-end:

Alexandro Heredia 9 Jan 5, 2023
Created a mobile application for my Project Oriented class.

Projet Scarla C'est pour notre cours : Projet d'intégration avec Raouf Babari au semestre d'hiver 2021. Projet Scarla Le nom de notre projet d’intégra

null 1 Jan 4, 2022
Create highly customizable, simple, and controllable autocomplete fields for Flutter.

Field Suggestion Installing Depend on it Add this to your package's pubspec.yaml file: dependencies: field_suggestion: <latest_version> Install it Y

Ismael Shakverdiev 21 Oct 18, 2022
First Open Source Flutter based Beautiful Material Design Text fields.

Pretty text field First Open Source Flutter based Beautiful Material Design Text fields.(More designed text fields coming soon.) Features [*] Compatib

Darshh 1 Aug 29, 2022