Anchor is a JavaScript library that lets you enforce high-level validation rules. It is used in Waterline and Sails to complement the type safety imposed by rttc.
This makes it really useful for things like:
- Form validation on the client or server
- Ensuring compliance with an API
- Ensuring that the proper arguments were passed into a function or command-line script
- Validating objects before storing them in a data store
- Normalizing polymorphic behaviors
Adds support for strongly typed arguments, like http://lea.verou.me/2011/05/strongly-typed-javascript/, but goes a step further by adding support for array and object sub-validation. It's also the core validation rule library for the Sails ecosystem.
(Built on top of the great work with https://github.com/chriso/validator.js)
For the browser:
<script type='text/javscript' src="/js/anchor.js"></script>
For Node.js:
npm install anchor
var anchor = require('anchor');
The up-to-date documentation for high-level anchor validation rules is maintained on the Sails framework website.
You can find a detailed reference of all validation rules under Concepts > Models & ORM > Validations. For more details on standalone usage, see the source code in this repo.
Check out the recommended community support options for tutorials and other resources. If you have a specific question, or just need to clarify how something works, ask for help or reach out to the core team directly.
You can keep up to date with security patches, the Sails/Waterline release schedule, new database adapters, and events in your area by following us (@sailsjs) and @waterlineorm on Twitter.
To report a bug, click here.
Please observe the guidelines and conventions laid out in our contribution guide when opening issues or submitting pull requests.
All tests are written with mocha and should be run with npm:
$ npm test
This core package, like the rest of the Sails framework, is free and open-source under the MIT License.