angel3_validate library
Cross-platform validation library based on matcher
.
Classes
- ContextAwareMatcher
- A special Matcher that is aware of the context in which it is being executed.
- CustomMatcher
- A useful utility class for implementing other matchers through inheritance. Derived classes should call the base constructor with a feature name and description, and an instance matcher, and should implement the featureValueOf abstract method.
- Description
- Matchers build up their error messages by appending to Description objects.
-
isInstanceOf<
T> - DEPRECATED Use isA instead.
- Matcher
- The base class for all matchers.
- StringDescription
- The default implementation of Description. This should rarely need substitution, although conceivably it is a place where other languages could be supported.
-
TypeMatcher<
T> - A Matcher subclass that supports validating the Type of the target object.
- ValidationResult
- The result of attempting to validate input data.
- Validator
- Enforces the validity of input data, according to Matchers.
Constants
- anything → const Matcher
- A matcher that matches any value.
-
isArgumentError
→ const TypeMatcher<
ArgumentError> -
A matcher for
ArgumentError
. -
isCastError
→ const TypeMatcher<
TypeError> -
A matcher for
TypeError
. -
isConcurrentModificationError
→ const TypeMatcher<
ConcurrentModificationError> -
A matcher for
ConcurrentModificationError
. -
isCyclicInitializationError
→ const TypeMatcher<
Error> -
A matcher for
Error
. - isEmpty → const Matcher
- Returns a matcher that matches the isEmpty property.
-
isException
→ const TypeMatcher<
Exception> -
A matcher for
Exception
. - isFalse → const Matcher
- A matcher that matches anything except the Boolean value true.
-
isFormatException
→ const TypeMatcher<
FormatException> -
A matcher for
FormatException
. -
isList
→ const TypeMatcher<
List> -
A matcher for
List
. -
isMap
→ const TypeMatcher<
Map> -
A matcher for
Map
. - isNaN → const Matcher
- A matcher that matches the numeric value NaN.
- isNegative → const Matcher
- A matcher which matches if the match argument is negative.
- isNonNegative → const Matcher
- A matcher which matches if the match argument is zero or positive.
- isNonPositive → const Matcher
- A matcher which matches if the match argument is zero or negative.
- isNonZero → const Matcher
- A matcher which matches if the match argument is non-zero.
-
isNoSuchMethodError
→ const TypeMatcher<
NoSuchMethodError> -
A matcher for
NoSuchMethodError
. - isNotEmpty → const Matcher
- Returns a matcher that matches the isNotEmpty property.
- isNotNaN → const Matcher
- A matcher that matches any non-NaN value.
- isNotNull → const Matcher
- A matcher that matches any non-null value.
- isNull → const Matcher
- A matcher that matches any null value.
-
isNullThrownError
→ const TypeMatcher<
TypeError> -
A matcher for
TypeError
. - isPositive → const Matcher
- A matcher which matches if the match argument is positive.
-
isRangeError
→ const TypeMatcher<
RangeError> -
A matcher for
RangeError
. -
isStateError
→ const TypeMatcher<
StateError> -
A matcher for
StateError
. - isTrue → const Matcher
- A matcher that matches the Boolean value true.
-
isUnimplementedError
→ const TypeMatcher<
UnimplementedError> -
A matcher for
UnimplementedError
. -
isUnsupportedError
→ const TypeMatcher<
UnsupportedError> -
A matcher for
UnsupportedError
. - isZero → const Matcher
- A matcher which matches if the match argument is zero.
- returnsNormally → const Matcher
- A matcher that matches a function call against no exception.
Properties
- isAlphaDash → Matcher
-
Asserts that a
String
is alphanumeric, but also lets it contain dashes or underscores.final - isAlphaNum → Matcher
-
Asserts that a
String
is alphanumeric, but also lets it contain dashes or underscores.final - isBool → Matcher
-
Asserts that a value either equals
true
orfalse
.final - isChecked → Matcher
-
Asserts that a value, presumably from a checkbox, is positive.
final
- isConfirmed ↔ ContextAwareMatcher
-
Asserts that for a key
x
, the context contains an identical itemx_confirmed
.getter/setter pair - isEmail → Matcher
-
Asserts that a
String
complies to the RFC 5322 e-mail standard.final - isInt → Matcher
-
Asserts that a value is an
int
.final - isIso8601DateString → Matcher
-
Ensures that a string is an ISO-8601 date string.
final
- isNonEmptyString → Matcher
-
Asserts that a value is a non-empty
String
.final - isNum → Matcher
-
Asserts that a value is a
num
.final - isString → Matcher
-
Asserts that a value is a
String
.final - isUrl → Matcher
-
Asserts that a
String
is anhttp://
orhttps://
URL.final
Functions
-
addStateInfo(
Map matchState, Map values) → void - Useful utility for nesting match states.
-
allOf(
Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher - This returns a matcher that matches if all of the matchers passed as arguments (up to 7) match.
-
anyElement(
Object? valueOrMatcher) → Matcher -
Returns a matcher which matches Iterables in which at least one
element matches the given
valueOrMatcher
. -
anyOf(
Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher - Matches if any of the given matchers evaluate to true.
-
autoParse(
Map inputData, Iterable< String> fields) → Map<String, dynamic> - Converts the desired fields to their numeric representations, if present.
-
closeTo(
num value, num delta) → Matcher -
Returns a matcher which matches if the match argument is within
delta
of somevalue
. -
collapseWhitespace(
String string) → String - Utility function to collapse whitespace runs to single spaces and strip leading/trailing whitespace.
-
contains(
Object? expected) → Matcher - Returns a matcher that matches if the match argument contains the expected value.
-
containsAll(
Iterable expected) → Matcher -
Matches Iterables which contain an element matching every value in
expected
in any order, and may contain additional values. -
containsAllInOrder(
Iterable expected) → Matcher -
Matches Iterables which contain an element matching every value in
expected
in the same order, but may contain additional values interleaved throughout. -
containsOnce(
Object? expected) → Matcher - Matches Iterables where exactly one element matches the expected value, and all other elements don't match.
-
containsPair(
Object? key, Object? valueOrMatcher) → Matcher -
Returns a matcher which matches maps containing the key-value pair
with
key
=>valueOrMatcher
. -
containsValue(
Object? value) → Matcher -
Returns a matcher which matches maps containing the given
value
. -
differentFrom(
String key) → ContextAwareMatcher -
Asserts that for a key
x
, the value ofx
is not equal to the value forkey
. -
endsWith(
String suffixString) → Matcher -
Returns a matcher that matches if the match argument is a string and
ends with
suffixString
. -
equals(
Object? expected, [int limit = 100]) → Matcher -
Returns a matcher that matches if the value is structurally equal to
expected
. -
equalsIgnoringCase(
String value) → Matcher -
Returns a matcher which matches if the match argument is a string and
is equal to
value
when compared case-insensitively. -
equalsIgnoringWhitespace(
String value) → Matcher -
Returns a matcher which matches if the match argument is a string and
is equal to
value
, ignoring whitespace. -
escape(
String str) → String -
Returns
str
with all whitespace characters represented as their escape sequences. -
everyElement(
Object? valueOrMatcher) → Matcher -
Returns a matcher which matches Iterables in which all elements
match the given
valueOrMatcher
. -
filter(
Map inputData, Iterable< String> only) → Map<String, dynamic> -
Removes undesired fields from a
Map
. -
greaterThan(
Object value) → Matcher -
Returns a matcher which matches if the match argument is greater
than the given
value
. -
greaterThanOrEqualTo(
Object value) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to the given
value
. -
hasLength(
Object? matcher) → Matcher -
Returns a matcher that matches if an object has a length property
that matches
matcher
. -
inClosedOpenRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to a
low
and less thanhigh
. -
inExclusiveRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than
low
and less thanhigh
. -
inInclusiveRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to
low
and less than or equal tohigh
. -
inOpenClosedRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than
low
and less than or equal tohigh
. -
isA<
T> () → TypeMatcher< T> -
Returns a matcher that matches objects with type
T
. -
isIn(
Object? expected) → Matcher - Returns a matcher that matches if the match argument is in the expected value. This is the converse of contains.
-
isNot(
Object? valueOrMatcher) → Matcher -
Returns a matcher that inverts
valueOrMatcher
to its logical negation. -
lessThan(
Object value) → Matcher -
Returns a matcher which matches if the match argument is less
than the given
value
. -
lessThanOrEqualTo(
Object value) → Matcher -
Returns a matcher which matches if the match argument is less
than or equal to the given
value
. -
matches(
Pattern re) → Matcher -
Returns a matcher that matches if the match argument is a string and
matches the regular expression given by
re
. -
maxLength(
int length) → Matcher - Limits the maximum length of a string.
-
minLength(
int length) → Matcher - Enforces a minimum length on a string.
-
orderedEquals(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables that have the same
length and the same elements as
expected
, in the same order. -
pairwiseCompare<
S, T> (Iterable< S> expected, bool comparator(S, T), String description) → Matcher - A pairwise matcher for Iterables.
-
predicate<
T> (bool f(T), [String description = 'satisfies function']) → Matcher - Returns a matcher that uses an arbitrary function that returns whether the value is considered a match.
-
predicateWithContext(
bool f(Object, String, Map, Map), [String description = 'satisfies function']) → ContextAwareMatcher - Returns a ContextAwareMatcher for the given predicate.
-
requiredAny(
Iterable< String> keys) → ContextValidator -
Assert that a key
x
is present, if any of the givenkeys
are as well. -
requiredIf(
Iterable< String> keys) → ContextValidator -
Assert that a key
x
is present, if all of the givenkeys
are as well. -
requiredWithout(
Iterable< String> keys) → ContextValidator -
Assert that a key
x
is present, if at least one of the givenkeys
is not. -
requiredWithoutAll(
Iterable< String> keys) → ContextValidator -
Assert that a key
x
is present, if none of the givenkeys
are. -
requireField(
String field) → String - Marks a field name as required.
-
requireFields(
Iterable< String> fields) → String - Marks multiple fields as required.
-
same(
Object? expected) → Matcher -
Returns a matches that matches if the value is the same instance
as
expected
, using identical. -
sameAs(
String key) → ContextAwareMatcher -
Asserts that for a key
x
, the value ofx
is equal to the value forkey
. -
startsWith(
String prefixString) → Matcher -
Returns a matcher that matches if the match argument is a string and
starts with
prefixString
. -
stringContainsInOrder(
List< String> substrings) → Matcher -
Returns a matcher that matches if the match argument is a string and
contains a given list of
substrings
in relative order. -
unorderedEquals(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables that have the same length and
the same elements as
expected
, but not necessarily in the same order. -
unorderedMatches(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables whose elements match the
matchers in
expected
, but not necessarily in the same order. -
wrapContextAwareMatcher(
dynamic x) → ContextAwareMatcher -
Wraps
x
in a ContextAwareMatcher. -
wrapMatcher(
Object? valueOrMatcher) → Matcher - Takes an argument and returns an equivalent Matcher.
Typedefs
- CustomErrorMessageFunction = String Function(dynamic item)
- Generates an error message based on the given input.
- DefaultValueFunction = dynamic Function()
- Returns a value based the result of a computation.
- Filter = bool Function(dynamic value)
- Determines if a value is valid.
Exceptions / Errors
- ValidationException
- Occurs when user-provided data is invalid.