Scroll to navigation

HTML::FormHandler::Manual::FromDFV(3) User Contributed Perl Documentation HTML::FormHandler::Manual::FromDFV(3)


HTML::FormHandler::Manual::FromDFV - converting from Data::FormValidator


version 0.40068


Manual Index

Cheatsheet for converting from Data::FormValidator.


Information that's useful when switching from Data::FormValidator to HTML::FormHandler. There's not a lot here yet, so if you have something to add, patches are welcome.

In a general way, FormHandler doesn't have nearly so many "special" checks as Data::FormValidator. It would be possible to implement many of them, but there hasn't been much demand for them. So far FormHandler users seem to be satisfied with the "do your own checks in a Perl method" solution. Because of the greater complexity of FormHandler's data model - with Repeatable arrays and nested compounds, etc - it's somewhat harder to do some of them automatically.


In FormHandler, 'dependency' is the equivalent of 'dependency_group', without the key names.

The other variations of dependencies in DFV are not implemented in FormHandler, and would normally be done in a form's 'validate' sub.

A 'trim' filter is installed by default in FormHandler; it's a special version of an apply action, and can be set to a transform or Moose type. See the documentation in HTML::FormHandler::Field#trim.

Transforms and inflations/deflations do not change what is presented in the form unless you set the 'fif_from_value' flag on the field.

Use text fields with 'minlength' and 'maxlength' attributes.
Perform your own checks in the form 'validate' sub.

    sub validate {
        my $self = shift;
        if( $self->field('one')->value eq $self->field('two')->value ) {


The simple constraints from Data::FormValidator::Constraints can be used directly in a FormHandler form:

    use Data::FormValidator::Constraints ('match_state');
    has_field 'my_state' => (
        apply => [ { check => \&match_state, message => 'Invalid State' } ] );
Use the 'Email' field type, or use the FH Moose Type, 'email'.

     has_field 'email' => ( type => 'Email' );
     -- or --
     use HTML::FormHandler::Types ('Email');
     has_field 'email' => ( apply => [ Email ] );


FormHandler Contributors - see HTML::FormHandler


This software is copyright (c) 2017 by Gerda Shank.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2017-07-21 perl v5.38.2