+2
This commit is contained in:
parent
fc1e04304c
commit
7fb9e27e28
4 changed files with 28 additions and 4 deletions
|
@ -1,5 +1,5 @@
|
|||
# validate
|
||||
[![version 1.0.2+1](https://img.shields.io/badge/pub-v1.0.2+1-brightgreen.svg)](https://pub.dartlang.org/packages/angel_validate)
|
||||
[![version 1.0.2+2](https://img.shields.io/badge/pub-v1.0.2+2-brightgreen.svg)](https://pub.dartlang.org/packages/angel_validate)
|
||||
[![build status](https://travis-ci.org/angel-dart/validate.svg)](https://travis-ci.org/angel-dart/validate)
|
||||
|
||||
[Live Example](https://angel-dart.github.io/validate)
|
||||
|
@ -38,9 +38,14 @@ import 'package:angel_validate/angel_validate.dart';
|
|||
main() {
|
||||
var validator = new Validator({
|
||||
'username': isAlphaNum,
|
||||
'multiple,keys,with,same,rules': [isString, isNotEmpty],
|
||||
'balance': [
|
||||
greaterThanOrEqualTo(0),
|
||||
lessThan(1000000)
|
||||
],
|
||||
'nested': [
|
||||
foo,
|
||||
[bar, baz]
|
||||
]
|
||||
});
|
||||
}
|
||||
|
@ -225,6 +230,7 @@ including:
|
|||
* `isInt`: Asserts that a value is an `int`.
|
||||
* `isNum`: Asserts that a value is a `num`.
|
||||
* `isString`: Asserts that a value is a `String`.
|
||||
* `isNonEmptyString`: Asserts that a value is a non-empty `String`.
|
||||
* `isUrl`: Asserts that a `String` is an HTTPS or HTTP URL.
|
||||
|
||||
The remaining functionality is
|
||||
|
|
|
@ -32,12 +32,20 @@ final Matcher isNum = predicate((value) => value is num, 'a number');
|
|||
/// Asserts that a value is a `String`.
|
||||
final Matcher isString = predicate((value) => value is String, 'a String');
|
||||
|
||||
/// Asserts that a value is a non-empty `String`.
|
||||
final Matcher isNonEmptyString = predicate(
|
||||
(value) => value is String && value.isNotEmpty, 'a non-empty String');
|
||||
|
||||
/// Asserts that a `String` is an `http://` or `https://` URL.
|
||||
///
|
||||
/// The regular expression used:
|
||||
/// ```
|
||||
/// https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
|
||||
/// ```
|
||||
final Matcher isurl = predicate(
|
||||
final Matcher isUrl = predicate(
|
||||
(value) => value is String && _url.hasMatch(value),
|
||||
'a valid url, starting with http:// or https://');
|
||||
|
||||
/// Use [isUrl] instead.
|
||||
@deprecated
|
||||
final Matcher isurl = isUrl;
|
||||
|
|
|
@ -76,8 +76,18 @@ class Validator extends Matcher {
|
|||
requiredFields.add(fieldName);
|
||||
}
|
||||
|
||||
Iterable iterable =
|
||||
Iterable _iterable =
|
||||
schema[keys] is Iterable ? schema[keys] : [schema[keys]];
|
||||
var iterable = [];
|
||||
|
||||
_addTo(x) {
|
||||
if (x is Iterable)
|
||||
x.map(_addTo);
|
||||
else
|
||||
iterable.add(x);
|
||||
}
|
||||
|
||||
_iterable.map(_addTo);
|
||||
|
||||
for (var rule in iterable) {
|
||||
if (rule is Matcher) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: angel_validate
|
||||
description: Cross-platform validation library based on `matcher`.
|
||||
version: 1.0.2+1
|
||||
version: 1.0.2+2
|
||||
author: Tobe O <thosakwe@gmail.com>
|
||||
homepage: https://github.com/angel-dart/validate
|
||||
environment:
|
||||
|
|
Loading…
Reference in a new issue