ApproveJs doesn't automatically attach itself to input change events or form submit events. It also doesn't manipulate the DOM for you by automatically displaying errors. This allows you to handle validation how you want.
ApproveJs exposes a single method, value()
and leaves you to decide when a value is validated and how errors are displayed.
Using ApproveJs, you can automate validation however you please.
If you like to be in control or have a little OCD like me, ApproveJs is for you.
ApproveJS is also easily extended with custom tests.
Add a script
tag to the library before the end of your closing <body>
tag
<script src="path/to/approve.min.js"></script>
In your terminal run:
$ bower install approvejs
Add a script
tag to the library before the end of your closing <body>
tag
<script src="path/to/bower_components/approvejs/dist/approve.min.js"></script>
Add a script
tag to the library CDN url before the end of your closing <body>
tag
<script src="https://cdnjs.cloudflare.com/ajax/libs/approvejs/[version]/approve.min.js"></script>
Get the cdn urls from here
Many thanks to cdnjs who kindly hosts ApproveJS through a reliable CDN
In your terminal run:
$ npm install approvejs
or if you're using Yarn
$ yarn add approvejs
Require approvejs
.
var approve = require('approvejs');
ApproveJS exposes a single method value
that takes two parameters.
The first parameter is the value to validate and the second is the set of rules to test against.
var rules = {
required: true,
email: true
};
var result = approve.value('[email protected]', rules);
The returned result
contains two properties:
{
approved: boolean,
errors: []
}
You can access errors returned by the result in one of two ways:
var i = result.errors.length;
while(i--) {
console.log(result.errors[i]);
}
The result object exposes an each()
method for easily getting to errors.
result.each(function(error) {
console.log(error);
});
View the project page for demos and documentation on rules and extending ApproveJs with your own tests.
If you would like to contribute to the project, please read contributing.