@@ -288,10 +288,13 @@ Creating and binding an event listener to the form is very easy::
288
288
289
289
use Symfony\Component\Form\FormEvent;
290
290
use Symfony\Component\Form\FormEvents;
291
+ use Symfony\Component\Form\Extension\Core\Type\TextType;
292
+ use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
293
+ use Symfony\Component\Form\Extension\Core\Type\EmailType;
291
294
292
295
$form = $formFactory->createBuilder()
293
- ->add('username', 'text' )
294
- ->add('show_email', 'checkbox' )
296
+ ->add('username', TextType::class )
297
+ ->add('show_email', CheckboxType::class )
295
298
->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
296
299
$user = $event->getData();
297
300
$form = $event->getForm();
@@ -304,7 +307,7 @@ Creating and binding an event listener to the form is very easy::
304
307
// If the data was submitted previously, the additional value that is
305
308
// included in the request variables needs to be removed.
306
309
if (true === $user['show_email']) {
307
- $form->add('email', 'email');
310
+ $form->add('email', EmailType::class
308
311
} else {
309
312
unset($user['email']);
310
313
$event->setData($user);
@@ -317,14 +320,17 @@ Creating and binding an event listener to the form is very easy::
317
320
When you have created a form type class, you can use one of its methods as a
318
321
callback for better readability::
319
322
323
+ use Symfony\Component\Form\Extension\Core\Type\TextType;
324
+ use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
325
+
320
326
// ...
321
327
322
328
class SubscriptionType extends AbstractType
323
329
{
324
330
public function buildForm(FormBuilderInterface $builder, array $options)
325
331
{
326
- $builder->add('username', 'text' );
327
- $builder->add('show_email', 'checkbox' );
332
+ $builder->add('username', TextType::class );
333
+ $builder->add('show_email', CheckboxType::class );
328
334
$builder->addEventListener(
329
335
FormEvents::PRE_SET_DATA,
330
336
array($this, 'onPreSetData')
@@ -351,6 +357,7 @@ Event subscribers have different uses:
351
357
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
352
358
use Symfony\Component\Form\FormEvent;
353
359
use Symfony\Component\Form\FormEvents;
360
+ use Symfony\Component\Form\Extension\Core\Type\EmailType;
354
361
355
362
class AddEmailFieldListener implements EventSubscriberInterface
356
363
{
@@ -370,7 +377,7 @@ Event subscribers have different uses:
370
377
// Check whether the user from the initial data has chosen to
371
378
// display his email or not.
372
379
if (true === $user->isShowEmail()) {
373
- $form->add('email', 'email' );
380
+ $form->add('email', EmailType::class );
374
381
}
375
382
}
376
383
@@ -387,7 +394,7 @@ Event subscribers have different uses:
387
394
// If the data was submitted previously, the additional value that
388
395
// is included in the request variables needs to be removed.
389
396
if (true === $user['show_email']) {
390
- $form->add('email', 'email' );
397
+ $form->add('email', EmailType::class );
391
398
} else {
392
399
unset($user['email']);
393
400
$event->setData($user);
@@ -397,11 +404,14 @@ Event subscribers have different uses:
397
404
398
405
To register the event subscriber, use the addEventSubscriber() method::
399
406
407
+ use Symfony\Component\Form\Extension\Core\Type\TextType;
408
+ use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
409
+
400
410
// ...
401
411
402
412
$form = $formFactory->createBuilder()
403
- ->add('username', 'text' )
404
- ->add('show_email', 'checkbox' )
413
+ ->add('username', TextType::class )
414
+ ->add('show_email', CheckboxType::class )
405
415
->addEventSubscriber(new AddEmailFieldListener())
406
416
->getForm();
407
417
0 commit comments