NAME

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

VERSION

version 0.40068

SYNOPSIS

Manual Index

Cheatsheet for converting from Data::FormValidator.

DESCRIPTION

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.

Differences/conversions

dependencies

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.

trim, filters

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.

FV_length_between, FV_max_length, FV_min_length

Use text fields with 'minlength' and 'maxlength' attributes.

FV_eq_with

Perform your own checks in the form 'validate' sub.

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

Constraints

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' } ] );
email

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 ] );

AUTHOR

FormHandler Contributors - see HTML::FormHandler

COPYRIGHT AND LICENSE

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.