Form::Processor::Field::Money - Input US currenty-like values.


Form-Processor documentation Contained in the Form-Processor distribution.

Index


Code Index:

NAME

Top

Form::Processor::Field::Money - Input US currenty-like values.

SYNOPSIS

Top

See Form::Processor

DESCRIPTION

Top

Validates that a postivie or negative real value is entered. Formatted with two decimal places.

Uses a period for the decimal point. Not very locale smart, if you ask me.

Widget

Fields can be given a widget type that is used as a hint for the code that renders the field.

This field's widget type is: "text".

Subclass

Fields may inherit from other fields. This field inherits from: "Text".

AUTHORS

Top

Bill Moseley

COPYRIGHT

Top

SUPPORT / WARRANTY

Top

Form::Processor is free software and is provided WITHOUT WARRANTY OF ANY KIND. Users are expected to review software for fitness and usability.


Form-Processor documentation Contained in the Form-Processor distribution.

package Form::Processor::Field::Money;
use strict;
use warnings;
use base 'Form::Processor::Field::Text';
our $VERSION = '0.03';

sub init_value_format { '%.2f' }


sub validate {
    my $self = shift;

    return unless $self->SUPER::validate;

    # remove plus sign.
    my $value = $self->input;

    return unless defined $value;

    if ( $value =~ s/^\$// ) {
        $self->input( $value );
    }

    return $self->add_error('Value must be a real number')
        unless $value =~ /^-?\d+\.?\d*$/;


    return 1;


}





1;