#Annotations
This library aims to provide some non-obstructive validation to Dart properties.
Note: You are free to have invalid data in an object, this library does not give you warnings. You find out if there are errors when you call the objects .isValid() method only.
#Usage
Currently the library is not in a production ready state. Help would be greatly appreciated.
The only two annotations available right now are
@required(message:"Value is required") ensures the property is not null or "" or an empty list or map.
@range(min:10, max:20, message:"Value must be between 10 and 20") ensures that the property's .length value or num value is between the specified range.
import 'package:annotations/annotation.dart';
class Person extends Object with Validatable {
@required(message:"Please provide a name.")
String name;
@required()
@range(min:13, max:99)
int age;
Person(this.name, this.age);
}
You can use required and range annotations without using the Validatable mixin. However they will prove useless unless you implement your own way of checking for errors using the provided annotations.
Validatable basically adds methods to a class that allows it to check if the defined Annotations are valid.