Changes for version 0.12 - 2009-11-20
- new: DS now can compile schema to Perl code for much speedier validation
- INCOMPATIBLE CHANGE: required_keys_regex and required_keys for hash used to require that is defined. now it isn't. i.e.: ds_validate({a=>undef}, [hash=>{required_keys=>['a']}]) used to fail, now succeed. to require that value are defined, use 'required'=>1.
- INCOMPATIBLE CHANGE: hash's "of" attribute is now changed to mean (become an alias for) "values_of". The original "of" meaning is removed because it is easily misused/forgotten.
- INCOMPATIBLE CHANGE: attribute suffix syntax (e.g. minlen.errmsg) now changed to using ':' (e.g. minlen:errmsg, minlen:ui) to avoid clash between attributeless suffix (':errmsg') and merge prefix '.'
- spelling change: int's attribute: undivisible_by -> indivisible_by
- new attribute suffix: ':errmsg' for error message
- new: type attribute 'allow_extra_keys' for hash
- new: add short_english() in type handler
- removed: validate() no longer return 'warnings' (they are never used anyway)
- rearrange tests
- fix bug in attribute hash merging
Documentation
Modules
Validate nested data structures with nested structure
Data::Schema configuration
Base class for other DSP::LoadSchema::* plugins
Plugin to load schemas from hashes
Plugin to load schemas from YAML files
Type handler for 'all' type
Type handler for arrays ('array')
Base class for Data::Schema type handler
Type handler for booleans ('bool')
Type handler for case-insensitive string ('cistr')
Role for comparable types
Type handler for 'either' type
Type handler for floating point numbers ('float')
Role for types that have the notion of elements
Type handler for hash ('hash')
Type handler for integer numbers ('int')
Base type handler for numbers
Type handler for Perl objects ('object')
Role for printable stuff
Role for scalar types
Make schema as type
Role for sortable types
Type handler for string ('str')