The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.001007

  • !!! Totally changed the way we aggregate validations and filters from subclasses and roles. All the same validations will run but the run order is likely different. THIS COULD BE A BREAKING CHANGE for you if you have code that is validation order dependent (could be in your test cases for example). I did warn you that validation order was subject to change :) On a positive note after working thru this with mst I think order is a lot more firmed up. I still consider it subject to change but I will now only change it if I need to in order to address critical design or secure or performance issues.
  • !!! Removed for now some experimental introspection code. It wasn't documented and if you used it your code is now broken. Contact me with your use case so I can plan a sane API for this.
  • Confirmation validator now skips when either the confirmation value or check value is not defined. This prevents showing a confirmation error when both values are not defined which I think is correct but its a minor breaking change.
  • Lots more test cases are DBIC nesting.
  • Normalized how translations key names are looked up and documented that. Its also not impossible I introduced a breaking change if you are using translation tags with lots of weird nesting.

Modules

Glue Valiant validations into DBIx::Class
Base component to add Valiant functionality
Validation support for resultsets
Add Valiant to DBIC
Verify a DBIC related result
Verify a DBIC related resultset
Ruby on Rails-like validation framework.
A single error encountered during validation.
A collection of errors associated with an object
A role to define the Filter interface.
collapse whitespace
A filter that contains and runs other filters
A Role to create custom validators
Array or Hash ref to string
HTML escaping on strings
lower case a string
Force into number context
title case a string
Force the value into an arrayref if its not one already
Validate using a coderef or method
upper case the first letter of a string
up case a string
Filter using a coderef and options opts
Role that adds class and instance methods supporting field filters
Adds a filter DSL and API to your Moo/se classes
Translations
Standard naming information for your models
Create a validation ruleset dynamically
Wrap a hashref in a result object for validation.
Wrap a hashref in a result object for validation.
Wrap any object into a validatable result object.
Importable utility methods;
Base exceptions class;
A non categorized exception
Args passed to a Filter are invalid
Args passed to a Validator are invalid
Not count subkey for the translation tag
Object is missing method
Failure to load a filter
Failure to load a validator
A Validation error that throws strictly
Unexpected error while using a module dynamically
Role that adds class and instance methods supporting validations
Addos a validation DSL and API to your Moo/se classes
A role to define the validator interface.
Verify that a value is missing
Verify items in an arrayref.
Verify that a value is either true or false
Validate using a 'check' method
A validator that contains and runs other validators
Checks for a 'confirming' attributes equality.
Verify that a value is is a standard Date (YYY-MM-DD)
A Role to create custom validators
Value cannot be in a list
Validate a value based on a regular expression
Verify a related object
Value must be one of a list
Validate the length of an attributes string value
Validate numeric attributes
Verify a related object
Limit the number of fields not blank in a group
Verify that a value is present
Verify that a value is unique to the record domain
Validate using a coderef or method

Provides

in lib/Valiant/I18N.pm
in lib/Valiant/Naming.pm
in lib/Valiant/NestedError.pm
in lib/Valiant/Translation.pm