jaguar_validate 1.0.1
jaguar_validate #
A super simple fluent Validator framework for Dart
Usage #
A simple usage example:
library jaguar_validate.example.simple;
import 'package:jaguar_validate/jaguar_validate.dart';
class Author {
String name;
String email;
int age;
Author.make(this.name, this.email, this.age);
ObjectErrors validate() {
ObjectErrors errors = new ObjectErrors();
Validate.string
.isNotNull()
.isNotEmpty(trim: true)
.startsWithAlpha()
.hasLengthLessThan(10)
.setErrors(name, 'name', errors);
Validate.string
.isNotNull()
.isNotEmpty(trim: true)
.isEmail()
.setErrors(email, 'email', errors);
Validate.int
.isNotNull()
.isInRange(20, 30)
.setErrors(age, 'age', errors);
return errors;
}
}
main() {
Author author = new Author.make('Mark', 'mark@books.com', 28);
ObjectErrors e = author.validate();
print(e.toJson());
print(e.hasErrors);
//=> {}
//=> false
author.age = 35;
e = author.validate();
print(e.toJson());
print(e.hasErrors);
//=> {age: [should be in range [20, 30]!]}
//=> true
author.name = '5Mark';
e = author.validate();
print(e.toJson());
print(e.hasErrors);
//=> {name: [should start with an alphabet!], age: [should be in range [20, 30]!]}
//=> true
author.email = 'tejainece@';
e = author.validate();
print(e.toJson());
print(e.hasErrors);
//=> {name: [should start with an alphabet!], email: [is not an email!], age: [should be in range [20, 30]!]}
//=> true
}
Changelog #
1.0.0 #
- Basic
String
,int
,double
andnum
validators
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies:
jaguar_validate: ^1.0.1
2. Install it
You can install packages from the command line:
with pub:
$ pub get
Alternatively, your editor might support pub get
.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
import 'package:jaguar_validate/jaguar_validate.dart';
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
0
|
Health:
Code health derived from static analysis.
[more]
|
--
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
--
|
Overall:
Weighted score of the above.
[more]
|
0
|
The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.
Analysis issues and suggestions
Support Dart 2 in pubspec.yaml
.
The SDK constraint in pubspec.yaml
doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.
Maintenance issues and suggestions
Make sure dartdoc
successfully runs on your package's source files. (-10 points)
Dependencies were not resolved.
Dependencies
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=1.8.0 <2.0.0 |