The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.002004

  • Lots of updates to the example application (again). Most more testing of AJAXy bits to try to figure out weaknesses in the overall design as well as seeing how well this works with some other semi experimental code I'm working on like per request controllers, etc.
  • General documentation improvements and updates.
  • Catalyst::View::Valiant::HTMLBuilder is basically a 'do over'. If you were using this experimental and mostly undocumented code, your application will completely break when you install this.
  • New DBIC plugin: DBIx::Class::Valiant::Result::HTML::FormFields which provides a way to annotate a DBIC result class with form field information that is used by the FormBuilder to generate forms. This can make your templates neater and also keeps DB type information out of your templates.
  • Valiant::HTML::FormBuilder we create some additionl helpers to proxy some form options like method, enctype, etc. Support for data 'remote' for making it easier to use AJAX with forms. See the docs. Also improves some display and internationalization options. Support for inferrring collection info from a model (see DBIx::Class::Valiant::Result::HTML::FormFields).
  • Added Valiant::HTML::PagerBuilder which is an experimental way to build a pager for a list of items. This is experimental and minimally documented. You can look at the example application to see how it works. I will feel free to totally break this as needed to make it work better.
  • SafeString now has an escape_html helper
  • When using the 'form_for' helper you can now create the form and later render it.
  • Lots of little improvements to the internationalization code. Shouldn't break anything.
  • Updated cpanfile to use more modern CPAN modules and to remove some dependencies that are no longer needed. This could force install a newer version of some modules that you might not have wanted to upgrade.

Modules

Per Request, strongly typed Views in code
Per Request, JSON view that wraps a model
Glue Valiant validations into DBIx::Class
Base component to add Valiant functionality
Map DBIC Fields to HTML Form Fields
Validation support for resultsets
A non categorized exception
More rows attempted than you are permitted to create
Add Valiant to DBIC
Verify a DBIC related result
Verify a DBIC related resultset
Verify a DBIC related resultset
Object validation inspired by Ruby on Rails and more.
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
Flatten a Hashref into a string via a template pattern
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
General HTML Forms
A custom formbuilder for checkbox content
A custom formbuilder for radio button content
A Perl module for building HTML paginators
String rendering safety
Base class for tag objects
Base class for tag objects
A utility class for creating collections of items.
HTML pager component
Utility class to generate HTML tags
Default view for Formbuilder
Translations
Wraps a model with a JSON builder
Importable utility methods;
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
Validate that a value is a scalar (like a string or number)
Verify that a value is unique to the record domain
Validate using a coderef or method

Provides

in lib/Valiant/HTML/Util/Collection.pm
in lib/Valiant/HTML/Util/Collection.pm
in lib/Valiant/HTML/Util/Form.pm
in lib/Valiant/HTML/Util/TagBuilder.pm
in lib/Valiant/I18N.pm
in lib/Valiant/Naming.pm
in lib/Valiant/NestedError.pm
in lib/Valiant/Translation.pm

Examples