---
name: "HTML::FormHandler::Types"
section: "3pm"
platform: "linux"
package: "libhtml-formhandler-perl"
version: "0.40068-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::FormHandler::Types"
---

# HTML::FormHandler::Types(3pm)

Moose type constraints

## 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.
