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
Examples
- example/Makefile
- example/cpanfile
- example/lib/Catalyst/ActionRole/RequestModel.pm
- example/lib/Catalyst/ComponentRole/Injection.pm
- example/lib/Catalyst/InjectableComponent.pm
- example/lib/Example.pm
- example/lib/Example/Controller/Root.pm
- example/lib/Example/Model/ProfileParams.pm
- example/lib/Example/Model/Schema.pm
- example/lib/Example/Schema.pm
- example/lib/Example/Schema/DefaultRS.pm
- example/lib/Example/Schema/Result.pm
- example/lib/Example/Schema/Result/CreditCard.pm
- example/lib/Example/Schema/Result/Person.pm
- example/lib/Example/Schema/Result/PersonRole.pm
- example/lib/Example/Schema/Result/Profile.pm
- example/lib/Example/Schema/Result/Role.pm
- example/lib/Example/Schema/Result/State.pm
- example/lib/Example/Schema/ResultSet.pm
- example/lib/Example/Schema/ResultSet/PersonRole.pm
- example/lib/Example/Server.pm
- example/lib/Example/View/HTML.pm
- example/lib/Valiant/Params.pm
- example/lib/locale/names.pl
- example/root/authenticate.ep
- example/root/home.html
- example/root/layout.ep
- example/root/login.ep
- example/root/navbar.html
- example/root/not_found.html
- example/root/profile.ep
- example/root/register.ep
- example/sqitch.conf
- example/sql/deploy/2020-09-28-64975-first.sql
- example/sql/revert/2020-09-28-64975-first.sql
- example/sql/schemas/2020-09-28-64975-first.sql
- example/sql/sqitch.plan
- example/sql/verify/2020-09-28-64975-first.sql
- example/t/basic.t
- example/t/params-nested.t
- example/t/params.t
- example/var/db.db
- example/var/sqitch.db