Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
HTML::FormHandler::ModUser)Contributed Perl DocumenHTML::FormHandler::Model(3)

       HTML::FormHandler::Model	- default model	base class

       version 0.40068

       This class defines the base attributes for FormHandler model classes.
       It is not used directly.

       This is an empty	base class that	defines	methods	called by
       HTML::FormHandler to support interfacing	forms with a data store	such
       as a database.

       This module provides instructions on methods to override	to create a
       HTML::FormHandler::Model	class to work with a specific object
       relational mapping (ORM)	tool.

   item, build_item
       The "item" is initialized with "build_item" the first time $form->item
       is called.  "item" must be defined in the model class to	fetch the
       object based on the item	id.  It	should return the item's object.
       Column values are fetched and updated by	calling	methods	on the
       returned	object.

       For example, with Class::DBI you	might return:

	   return $self->item_class->retrieve( $self->item_id );

       The id (primary key) of the item	(object) that the form is updating or
       has just	created. The model class should	have a build_item method that
       can fetch the object from the item_class	for this id.

       "item_class" sets and returns a value used by the model class to	access
       the ORM class related to	a form.

       For example:

	  has '+item_class' => ( default => 'User' );

       This gives the model class a way	to access the data store.  If this is
       not a fixed value (as above) then do not	define the method in your
       subclass	and instead set	the value when the form	is created:

	   my $form = MyApp::Form::Users->new( item_class => $class );

       The value can be	any scalar (or object) needed by the specific ORM to
       access the data related to the form.

       A builder for 'item_class' might	be to return the class of the 'item'.

       Returns the guessed field type.	The field name is passed as the	first
       argument.  This is only required	if using "Auto"	type of	fields in your
       form classes.  You could	override this in your form class, for example,
       if you use a field naming convention that indicates the field type.

       The metadata info about the columns can be used to assign types.

       Retrieve	possible options for a given select field from the database.
       The default method returns undef.

       Returns an array	reference of key/value pairs for the column passed in.
       These values are	used for the values and	labels for field types that
       provide a list of options to select from	(e.g. Select, Multiple).

       A 'Select' type field (or a field that inherits from
       HTML::FormHandler::Field::Select) can set a number of scalars that
       control how options are looked up:

	   label_column()	   - column that holds the label
	   active_column()	   - column that indicates if a	row is acitve
	   sort_column()	   - column used for sorting the options

       The default for label_column is "name".

       Validates fields	that are dependent on the model.  This is called via
       the validation process and the model class must at least	validate
       "unique"	constraints defined in the form	class.

       Any errors on a field found should be set by calling the	field's
       add_error method:

	   $field->add_error('Value must be unique in the database');

       The default method does nothing.

       Clear out any dynamic data for persistent object

       Update the model	with validated fields

       FormHandler Contributors	- see HTML::FormHandler

       This software is	copyright (c) 2017 by Gerda Shank.

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

perl v5.32.0			  2017-07-20	   HTML::FormHandler::Model(3)


Want to link to this manual page? Use this URL:

home | help