The most recent release of the Dart server-side framework Aqueduct adds behavior for validating data before it is inserted or updated in a database and fixes issues when running on Windows OS.

Database object properties may now have validation metadata that gets checked before they are sent to a database. Here's an example:

class Tweet extends ManagedObject<_Tweet> implements _Tweet {
  void willInsert() {
    createdAt = new;
class _Tweet {
  int id;

  @Validate.length(lessThan: 140)  
  String body;

  @Validate.oneOf(const ["tweet", "reply", "retweet"])
  @ManagedColumnAttributes(indexed: true)
  String kind;

  @ManagedColumnAttributes(indexed: true)
  DateTime createdAt;

Related: Why we built Aqueduct

For more details on validation, see the documentation guide for validations.

Windows users can now use the aqueduct serve command.

Visit our new Aqueduct website for extensive documentation!



About The Author

For the past 16 years, Joe Conway has programmed everything from macOS to Android to iOS. As a former instructor and lead developer at Big Nerd Ranch, he fine-tuned his skills and expertise in overall mobile strategy, specializing in iOS Development. Author of "iOS Programming: The Big Nerd Ranch Guide," an Amazon Best-Seller, Joe quickly made a name for himself in the mobile space. He has worked with Fortune 500 companies, technology start-ups and government entities to build mobile platforms, enhance existing applications and develop mobile strategies. Joe was recently named one of Atlanta Business Chronicle's "People on the Move."