Changes for version 0.09 - 2009-11-08
- now requires Data::PrefixMerge 0.06
- new: type attribute 'forbidden' (the opposite of 'required'), which states that data must be undef
- new: type attribute 'set' which is just an alias for 'required' or 'forbidden'. set=1 is the same as setting 'required=1', while 'set=0' is the same as 'forbidden=0'
- INCOMPATIBLE CHANGE: setting config is now done via $validator->config->foo instead of $validator->config->{foo} to catch config name typos at compile time.
- INCOMPATIBLE CHANGE: when a hash type has 'keys' attribute, it now automatically means that only those keys specified in 'keys' are allowed (i.e. [hash=>{keys: {a: int, b: str, c: int}}] now automatically means [hash=>{keys: {a: int, b: str, c: int}, allowed_keys: [a, b, c]}]. this is because it is the common case anyway. to get the old behaviour, you need to set configuration: 'allow_extra_hash_keys' to true.
Documentation
Writing plugins for Data::Schema
Data::Schema schema reference
Introduction to and using Data::Schema
Writing type handler for Data::Schema
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')
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
Make schema as type
Role for sortable types
Type handler for string ('str')