Skip to content
This repository has been archived by the owner on Dec 12, 2022. It is now read-only.

Latest commit

 

History

History
131 lines (106 loc) · 3.9 KB

README.md

File metadata and controls

131 lines (106 loc) · 3.9 KB

zf-form

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Coverage Status

Simple form with zendframework/zend-inputfilter and adamwathan/form.

Installation

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require bupy7/zf-form "*"

or add

"bupy7/zf-form": "*"

to the require section of your composer.json file.

Usage

Form:

// Application/src/Form/SignInForm.php

use Bupy7\Form\FormAbstract;

class SignInForm extends FormAbstract
{
    protected function inputs()
    {
        return [
            [
                'name' => 'email',
                'required' => true,
                'validators' => [
                    [
                        'name' => 'EmailAddress',
                    ],
                ],
            ],
            [
                'name' => 'password',
                'required' => true,
            ],
        ];
    }
}

View:

// Application/view/auth/signin.phtml

<?php $formBuilder = $this->formBuilder($this->signInForm); ?>
<?= $formBuilder->open()->action($this->url('signin'))->addClass('form-horizontal'); ?>
    <div class="form-group required<?= $formBuilder->hasError('email') ? ' has-error' : ''; ?>">
        <?= $formBuilder->label('Email')->forId('email')->addClass('control-label col-md-2'); ?>
        <div class="col-md-4">
            <?= $formBuilder->email('email')->addClass('form-control'); ?>
            <div class="help-block help-block-error">
                <?= $formBuilder->getError('email'); ?>
            </div>
        </div>
    </div>
    <div class="form-group required<?= $formBuilder->hasError('password') ? ' has-error' : ''; ?>">
        <?= $formBuilder->label('Password')->forId('password')->addClass('control-label col-md-2'); ?>
        <div class="col-md-4">
            <?= $formBuilder->password('password')->addClass('form-control'); ?>
            <div class="help-block help-block-error">
                <?= $formBuilder->getError('password'); ?>
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-4 col-md-offset-2">
            <?= $formBuilder->button('Signin')->attribute('type', 'submit')->addClass('btn btn-primary'); ?>
        </div>
    </div>
<?= $formBuilder->close(); ?>

Controller:

// Application/src/Controller/AuthController.php

use Application/Form/SignInForm;

public function signinAction()
{
    $signInForm = new SignInForm;
    if ($this->getRequest()->isPost()) {
        $signInForm->setValues($this->getRequest()->getPost());
        if ($signInForm->isValid()) {
            $data = $signInForm->getValues();
            // authentication...
            // $result = $auth->authenticate();
            if ($result->isValid()) {
                // some actions
            }
        }
    }
    return new ViewModel([
        'signInForm' => $signInForm,
    ]);
}

Links

License

zf-form is released under the BSD 3-Clause License.