2017 © Pedro Peláez
 

library form

image

omerucel/form

  • Thursday, July 13, 2017
  • by omerucel
  • Repository
  • 0 Watchers
  • 1 Stars
  • 11 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Build Status, (*1)

About

This library provides clean and an easy solution for form validation process. It's using respect/validation package for validation part., (*2)

Composer

{
    "require": {
        "omerucel/form": "1.0.0"
    }
}

Usage

There's two options to use. First way is to extend OU\Form\Form class and it is clean way to use this library., (*3)

<?php

namespace {

    use OU\Form\Field;
    use OU\Form\Message\DangerMessage;
    use OU\Form\Message\SuccessMessage;
    use Respect\Validation\Rules;
    use Symfony\Component\HttpFoundation\Request;

    $request = Request::createFromGlobals();
    $form = new RegistrationForm($request);
    if ($form->validate()) {
        // Complete form action
        $form->setCompleted(true);
        $form->addMessage(new SuccessMessage('User created.'));
    } else {
        $form->addMessage(new DangerMessage('Please try again.'));
    }

    class RegistrationForm extends OU\Form\Form
    {
        public $email;
        public $password;

        public function __construct(Request $request)
        {
            $this->email = new Field($request->get('email'));
            $this->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.'));
            $this->password = new Field($request->get('password'));
            $this->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.'));
            $this->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.'));
        }
    }
}

Another way is using OU\Form\Form class directly., (*4)

<?php

namespace {

    use OU\Form\Form;
    use OU\Form\Field;
    use OU\Form\Message\DangerMessage;
    use OU\Form\Message\SuccessMessage;
    use Respect\Validation\Rules;
    use Symfony\Component\HttpFoundation\Request;

    $request = Request::createFromGlobals();
    $form = new Form();
    $form->email = new Field($request->get('email'));
    $form->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.'));
    $form->password = new Field($request->get('password'));
    $form->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.'));
    $form->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.'));

    if ($form->validate()) {
        $form->setCompleted(true);
        $form->addMessage(new SuccessMessage('User created.'));
    } else {
        $form->addMessage(new DangerMessage('Please try again.'));
    }
}

You can extend Respect\Validation\Rules\AbstractRule class or implement Respect\Validation\Validatable interface to create your own validation rule. Please check it's documentation for this., (*5)

The Versions

13/07 2017

dev-master

9999999-dev https://github.com/omerucel/form

  Sources   Download

The Requires

 

The Development Requires

php form

13/07 2017