The validation constraints can be declared in JSON and shared between clients and the server. One thing that is a bit unorthodox is that most validators will consider undefined values (,) valid values.
This allows you to define a better way of catching validation errors.Sometimes it's nice to be able validate field differently depending on the input itself.allows the validators object and validator options to be a function that should return the constraints/options: Validates the attributes object against the constraints.The message can also be a function which will be called to retrieve the message, besides this it is treated like a normal message (the attribute name is prepended etc).If the message is not a function and not a string it is simply returned as is.You can tell to use any A compatible promise implemention like this: There are already many validation libraries out there today but most of them are very tightly coupled to a language or framework.
The goal of is to provide a cross framework and cross language way of validating data.
Any A type promise can be used, just override function success(attributes) function error(errors) var constraints = ; var attributes = ; // Will call the success function and log validate.async(attributes, constraints).then(success, error); // Will call the error function validate.async(, constraints).then(success, error); function Validation Errors(errors, options, attributes, constraints) Validation Errors.prototype = new Error(); // This isn't supported by the ES6 promises validate.async(, constraints, ) .then(success) .catch(Validation Errors, function(error) ) .catch(function(error) ); // Supporting another promise implementation (RSVP in this case) validate. Promise; Sometimes you only want to validate a single value against some constraints and using the normal validate function is quite verbose so there is a shorthand for this.
It does little more than proxying the call do the main validation function but with the value wrapped in an object and the options full Messages and format set to also has limited support for nested objects (objects within objects) using the dot notation.
The project can be found on Git Hub where you can also find our issue tracker.
There is also a Travis project used for testing, a Coveralls project used to code coverage as well as the annotated source.
Though for the datetime and date validator to you need to specify a parse and format function and for that you most likely will want to use a library, is highly recommended.