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

NAME

HTML::FormHandler::Types - Moose type constraints

VERSION

version 0.40018

SYNOPSIS

These types are provided by MooseX::Types. These types must not be quoted when they are used:

  has 'posint' => ( is => 'rw', isa => PositiveInt);
  has_field 'email' => ( apply => [ Email ] );

Types declared using Moose::Util::TypeConstraints, on the other hand, must be quoted:

  has_field 'text_both' => ( apply => [ PositiveInt, 'GreaterThan10' ] );

To import these types into your forms, you must either specify (':all') or list the types you want to use:

   use HTML::FormHandler::Types (':all');

or:

   use HTML::FormHandler::Types ('Email', 'PositiveInt');

DESCRIPTION

It would be possible to import the MooseX types (Common, etc), but for now we'll just re-implement them here in order to be able to change the messages and keep control of what types we provide.

From MooseX::Types::Common:

  'PositiveNum', 'PositiveInt', 'NegativeNum', 'NegativeInt', 'SingleDigit',
  'SimpleStr', 'NonEmptySimpleStr', 'Password', 'StrongPassword', 'NonEmptyStr',

Type Constraints

These types check the value and issue an error message.

Email

Uses Email::Valid

State

Checks that the state is in a list of two uppercase letters.

Zip
IPAddress

Must be a valid IPv4 address.

NoSpaces

No spaces in string allowed.

WordChars

Must be made up of letters, digits, and underscores.

NotAllDigits

Might be useful for passwords.

Printable

Must not contain non-printable characters.

SingleWord

Contains a single word.

Type Coercions

These types will transform the value without an error message;

Collapse

Replaces multiple spaces with a single space

Upper

Makes the string all upper case

Lower

Makes the string all lower case

Trim

Trims the string of starting and ending spaces

AUTHOR

FormHandler Contributors - see HTML::FormHandler

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 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.