All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.5.1 - 2022-06-30
- Inefficient regular expression complexity of lowercase() and uppercase() rules
1.5.0 - 2022-06-27
- Support async validation within the
optional
rule (#206) - New modifier
strict
for schema validation (#191, #179)
- Correct incorrect return type of
check
validation strategy (boolean -> void) - Bug with
Proxy
check where it always returnedtrue
1.4.0 - 2022-02-17
- Untranspiled build
v8n.esm.browser.js
for modern browsers (#165) - TypeScript support through bundled type definitions (#28)
- Bug with schema validation (#166) - thanks @havelaer
- Bug with environments that cannot use the Proxy object (#45) - thanks @akarel and @NoemiRozpara
1.3.3 - 2019-09-15
- Bug with nested async rules (#161)
1.3.2 - 2019-05-20
- Bug with
optional
rule that ignores thestring
rule when validating
1.3.1 - 2019-05-20
- Bug with
optional
rule that ignores validation when an empty string is passed (#149)
1.3.0 - 2019-05-19
- Rule
instanceOf()
to check inheritance of prototypes. - Rule
numeric()
to check for strings containing numbers
- Rule
optional
now supports a flag to consider trimmed empty strings valid (considerTrimmedEmptyString
) (#140)
1.2.3 - 2018-10-03
- Bug with
schema
rule when working with array-based modifiers (#127)
1.2.2 - 2018-08-29
- Bug with polyfill for
integer
rule - Bug with
Infinity
values in range-based rules
1.2.1 - 2018-08-17
- Rename
ValidationException
toValidationError
- Wrong example in the README file
1.2.0 - 2018-07-31
- Rule
passesAnyOf()
to perform branching validation. - Rule
optional()
for validation of optional values.
- Rule
number()
now supports a flag to make it returnfalse
for infinite numbers (#76)
testAsync()
nesting causes for failed validation.
- From v2.0.0: Rule
number()
will returnfalse
for infinite values by default
1.1.2 - 2018-07-26
- Issue with
schema()
not validating at deeper levels properly.
1.1.0 - 2018-07-25
- Ability to receive all validation errors for a value with
testAll()
. - Ability to create and test asynchronous rules with
testAsync()
. - Rule
object()
to check whether a value is an object. - Rule
schema()
to validate the schema of an object. - Modifier
some
to verify that at least one value in an array passes a rule. - Modifier
every
to verify that all values in an array pass a rule.
- Made
ValidationException
inherit from JavaScript's built-inError
. - Rewrote documentation and moved it from the README to a website using VuePress.
- Made the validation object immutable.
- Build process now properly transpiles modules from ES6 to ES5. (#44)