xm / form-bundle
A few helpers to make processing (creating, saving, errors, etc) forms simpler.
Installs: 299
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^5.6 || ^7.0
- doctrine/orm: ^2.5
- symfony/form: ~3.0
- symfony/framework-bundle: ~3.0
- xm/flash-bundle: ~1.0
Requires (Dev)
- mockery/mockery: ^0.9
- phpunit/phpunit: 5.7.*
- symfony/phpunit-bridge: ^3.0
- symfony/var-dumper: ^3.0
This package is auto-updated.
Last update: 2024-11-15 14:29:18 UTC
README
A few helpers to make processing (creating, saving, errors, etc) forms simpler.
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ php composer.phar require xm/form-bundle
This command requires Composer.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new XM\FormBundle\XMFormBundle(), ); // ... } }
Step 3: Add Service Alias
Adding the following will make the call to the service shorter:
form_handler: '@xm_form.handler'
Usage
Get the form handler
$formHandler = $this->get('form_handler');
Create the form
$form = $formHandler->getForm(
EntityFormType::class,
$entity,
$request
);
Process form & save entity
if ($formHandler->processForm($form, $entity, '[entity name]')) {
// entity valid and saved successfully, redirect
}
Retrieve validation errors/messages as an array
This is useful when passing the validation messages to JS through JSON.
$errors = FormErrors::flatten($form)
This will return an array of the errors in the format of:
array(
0 => array(
'Global Error 1',
),
'field_name' => array(
'Field Error 1',
'Field Error 2',
...
),
...
)