Scroll to navigation

HTML::FormHandler::Types(3pm) User Contributed Perl Documentation HTML::FormHandler::Types(3pm)

NAME

HTML::FormHandler::Types - Moose type constraints

VERSION

version 0.40068

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) 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-11-11 perl v5.26.1