NAME

Rose::HTML::Form::Field::Numeric - Text field that only accepts numeric values.

SYNOPSIS

$field =
  Rose::HTML::Form::Field::Numeric->new(
    label     => 'Distance', 
    name      => 'distance',
    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.5);
$field->validate; # true

print $field->html;
...

DESCRIPTION

Rose::HTML::Form::Field::Numeric is a subclass of Rose::HTML::Form::Field::Text that only accepts numeric values. It overrides the validate() method of its parent class, returning true if the internal_value() is a valid number, 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 [NUMERIC]

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 [NUMERIC]

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.

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.