Clearance
Agnostic, asynchronous, and extensible JavaScript object validation.
Features
Clearance is a powerful, dependency-free validation library that:
- allows you to create and bind unlimited validation rules to an object.
- asynchronously validates your objects.
- works on both the client-side and server-side.
- gives you complete control over your objects during each state (valid/invalid/validated/unvalidated)
Getting Started
Usage
var schema = name: "username" rules: "required" "alpha" name: "password" rules: "required" "alphaNumeric" name: "email" rules: "required" "email" ; var clearance = schema ; clearance;
Examples
- Create a validation rule.
Clearance;
- Register a schema.
var schema = name: "username" // (required) the name of this object. rules: "minimumLength" // (required) validation rules for this object. message: "default message" // (optional) default message for this object. valid: true // (optional) default state for this object. value: "default value" // (optional) default value for this object. ;
- Validate objects against the schema.
clearance;
API
Clearance( schema )
Name | Type | Argument | Description |
---|---|---|---|
schema | object[] |
<required> |
schema containing an array of objects to register for validation. |
Clearance.setRule( name, function )
Name | Type | Argument | Description |
---|---|---|---|
name | string |
<required> |
the name of the rule. |
function | function |
<required> |
the rules validation logic. |
Clearance.validate( options )
Name | Type | Argument | Description |
---|---|---|---|
options.data | object[] |
<required> |
array of objects to validate. |
options.valid | function |
<optional> |
executed if all of the objects are valid. |
options.invalid | function |
<optional> |
executed if there are any invalid objects. |
options.complete | function |
<optional> |
executed after the objects have been validated. |
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.
License
Copyright (c) 2014 Jason Bellamy
Licensed under the MIT license.