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

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.