Kent Fredric > Spark-Form > Spark::Form::Field

Download:
Spark-Form-0.2102.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.2102   Source   Latest Release: Spark-Form-0.2103-TRIAL

NAME ^

Spark::Form::Field - Superclass for all Form Fields

VERSION ^

version 0.2102

DESCRIPTION ^

Field superclass. Must subclass this to be considered a field.

SYNOPSIS ^

 package My::Field;
 use Moose;
 require Spark::Form::Field;
 extends 'Spark::Form::Field';
 with 'Spark::Form::Field::Role::Validateable';
 with 'Spark::Form::Field::Role::Printable::XHTML';

 sub _validate {
     my $self = shift;

     #validate existence of data
     if ($self->value) {
         #If we're valid, we should say so
         $self->valid(1);
     } else {
         #error will call $self->valid(0) and also set an error.
         $self->error('no value')
     }

     #And we should return boolean validity
     $self->valid
 }

 sub to_xhtml {
     #Rather poorly construct an XHTML tag
     '<input type="checkbox" value="' . shift-value . '">';
 }

Note that you might want to look into HTML::Tiny. Or better still, SparkX::Form::Field::Plugin::StarML.

There are a bunch of pre-built fields you can actually use in SparkX::Form::BasicFields.

ACCESSORS ^

name => Str

Name of the field in the data source. Will be slurped on demand. Required at validation time, not at construction time.

form => Spark::Form

Reference to the form it is a member of.

value => Any

Value in the field.

valid => Bool

Treat as read-only. Whether the field is valid.

errors => ArrayRef

Treat as read-only. The list of errors generated in validation.

METHODS ^

human_name

Returns the label if present, else the field name.

validate

Returns true always. Subclass and fill in _validate to do proper validation. See the synopsis.

error (Str)

Adds an error to the current field's list.

SEE ALSO ^

Spark::Form::Field::Role::Printable - Fields that can be printed
SparkX::Form::BasicValidators - Set of validators to use creating fields
SparkX::Form::BasicFields - Ready to use fields

AUTHOR ^

  James Laver L<http://jameslaver.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2009 by James Laver <sprintf qw(%s@%s.%s cpan jameslaver com)>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: