Filters
Filters are normally used by form widgets to process raw input data. They may be used individually, or chained together.
Trim
var trim = new Trim, filteredValue = trim.filter(value);
Lowercase
var lowercase = new Lowercase, filteredValue = lowercase.filter(value);
Uppercase
var uppercase = new Uppercase, filteredValue = uppercase.filter(value);
Propercase
var propercase = new propercase, filteredValue = propercase.filter(value);
Chains
Chain filters together. The result of each filter will be passed to the next filter in the chain.
var chain = new Chain({filters: [ new Trim, new Uppercase ]}), filteredValue = chain.filter(value);
Custom Filters
Define your own filters by extending from havok/filter/Base
and overriding the filter
method.
require(['havok/filter/Base', 'dojo/_base/declare'], function(FilterBase, declare){ var Dollar = declare([FilterBase], { filter: function(value){ return '$' + value; } }); var dollar = new Dollar; filteredValue = dollar.filter(value); } )
Filter Factory
The filter factory can be used to create instances of filters. eg:
require(['havok/get!havok/filter/factory'], function(factory){ factory.create(['Trim', 'Lowercase']).then(function(filter){ filteredValue = filter.filter(value); }) } )
The filter factory uses havok/di
to create and configure the filters. It accepts any valid di config.
Validators
Validators will check if data meets certain criteria and return a message if it does not.
Havok uses the mystique validator library. Which includes:
- Alpha
- Boolean
- Chain
- CreditCard
- CreditCardExpiry
- Cvv
- Date
- Equal
- Alpha
- Float
- GreaterThan
- LessThan
- HexColor
- Int
- Length
- LessThan
- LethThanEqual
- NotEqual
- NotRequired
- Password
- Regex
- Slug
- String
- And probably more ...
Mystique Validators
Use the mystique validators as described in the mystique docs. Eg
require(['mystique/Length'], function(Length){ var validator = new Length({min: 10, max: 20}), result = validator.isValid(myValue); })
Mystique validators can be extended and chained. See the mystique docs for more detail.
Validator Factory
The validator factory can be used to create instances of validators. eg:
require(['havok/get!havok/validator/factory'], function(factory){ factory.create(['Alpha', {base: 'Length', params: {min: 5, max: 10}}]).then(function(validator){ result = validator.isValid(value); }) } )
The validator factory uses havok/di
to create and configure the validators. It accepts any valid di config.