ms1570p/zend-form-element-discovery

There is no license information available for the latest version (dev-master) of this package.

dev-master 2017-09-12 22:33 UTC

This package is auto-updated.

Last update: 2024-05-10 22:25:44 UTC


README

Description

This library automatically creates form inputs depends on database schema and field name. It automatically assign some validators and filters, for example StringLength or Required depends on database schema.

##Installation

Add to your composer.json:

"require": {
    ...
    "ms1570p/zend-form-element-discovery": "dev-master"
}

Working with ZendFormElementDiscovery

In your form simply add this trait:

use ms1570p\ZendFormElementDiscovery\ZendFormElementDiscoveryTrait;

and now you can use the main method called:

addElementDiscovery()

Example

use Model_DbTable_Users as Users;
 
class Default_Form_Register extends Twitter_Bootstrap3_Form_Vertical
{
    use ms1570p\ZendFormElementDiscovery\ZendFormElementDiscoveryTrait;
 
    public function init()
    {
        $this->addElementDiscovery(Users::model(), 'firstname');
        $this->addElementDiscovery(Users::model(), 'lastname');
        $this->addElementDiscovery(Users::model(), 'email', [
            'validators' => [
                ['Db_NoRecordExists', false, [
                    'table' => 'users',
                    'field' => 'email',
                ]]
            ],
        ]);
        $this->addElementDiscovery(Users::model(), 'password');
    }
}