The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Rose::HTML::Form::Field::Integer - Text field that only accepts integer values.

SYNOPSIS

$field =
  Rose::HTML::Form::Field::Integer->new(
    label     => 'Count', 
    name      => 'count',
    maxlength => 6);

$field->input_value('abc');
$field->validate; # false

$field->input_value(123);
$field->validate; # true

# Set minimum and maximum values
$field->min(2);
$field->max(100);

$field->input_value(123);
$field->validate; # false

$field->input_value(1);
$field->validate; # false

$field->input_value(5);
$field->validate; # true

print $field->html;
...

DESCRIPTION

Rose::HTML::Form::Field::Integer is a subclass of Rose::HTML::Form::Field::Numeric that only accepts integer values. It overrides the validate() method of its parent class, returning true if the internal_value() is a valid integer, or setting an error message and returning false otherwise.

Use the min and :<max|/max> attributes to control whether the range of valid values.

OBJECT METHODS

max [INT]

Get or set the maximum acceptable value. If the field's internal_value() is greater than this value, then the validate() method will return false. If undefined, then no limit on the maximum value is enforced.

min [INT]

Get or set the minimum acceptable value. If the field's internal_value() is less than this value, then the validate() method will return false. If undefined, then no limit on the minimum value is enforced.

negative [BOOL]

If BOOL is true or omitted, sets max to 0. If BOOL is false, sets max to undef.

positive [BOOL]

If BOOL is true or omitted, sets min to 0. If BOOL is false, sets min to undef.

step [ NUM | any ]

Get or set the granularity that is expected (and required). The value may be a number or the keyword any. The default value is 1.

AUTHOR

John C. Siracusa (siracusa@gmail.com)

LICENSE

Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.