app\ControllerProvider::form PHP Method

form() public method

public form ( Silex\Application $app, Request $request )
$app Silex\Application
$request Symfony\Component\HttpFoundation\Request
    public function form(App $app, Request $request)
    {
        $builder = $app['form.factory']->createBuilder(Type\FormType::class);
        $choices = array('choice a', 'choice b', 'choice c');
        $form = $builder->add($builder->create('sub-form', Type\FormType::class)->add('subformemail1', Type\EmailType::class, array('constraints' => array(new Assert\NotBlank(), new Assert\Email()), 'attr' => array('placeholder' => 'email constraints'), 'label' => 'A custom label : '))->add('subformtext1', Type\TextType::class))->add('text1', Type\TextType::class, array('constraints' => new Assert\NotBlank(), 'attr' => array('placeholder' => 'not blank constraints')))->add('text2', Type\TextType::class, array('attr' => array('class' => 'span1', 'placeholder' => '.span1')))->add('text3', Type\TextType::class, array('attr' => array('class' => 'span2', 'placeholder' => '.span2')))->add('text4', Type\TextType::class, array('attr' => array('class' => 'span3', 'placeholder' => '.span3')))->add('text5', Type\TextType::class, array('attr' => array('class' => 'span4', 'placeholder' => '.span4')))->add('text6', Type\TextType::class, array('attr' => array('class' => 'span5', 'placeholder' => '.span5')))->add('text8', Type\TextType::class, array('disabled' => true, 'attr' => array('placeholder' => 'disabled field')))->add('textarea', Type\TextareaType::class)->add('email', Type\EmailType::class)->add('integer', Type\IntegerType::class)->add('money', Type\MoneyType::class)->add('number', Type\NumberType::class)->add('password', Type\PasswordType::class)->add('percent', Type\PercentType::class)->add('search', Type\SearchType::class)->add('url', Type\UrlType::class)->add('choice1', Type\ChoiceType::class, array('choices' => $choices, 'multiple' => true, 'expanded' => true))->add('choice2', Type\ChoiceType::class, array('choices' => $choices, 'multiple' => false, 'expanded' => true))->add('choice3', Type\ChoiceType::class, array('choices' => $choices, 'multiple' => true, 'expanded' => false))->add('choice4', Type\ChoiceType::class, array('choices' => $choices, 'multiple' => false, 'expanded' => false))->add('country', Type\CountryType::class)->add('language', Type\LanguageType::class)->add('locale', Type\LocaleType::class)->add('timezone', Type\TimezoneType::class)->add('date', Type\DateType::class)->add('datetime', Type\DateTimeType::class)->add('time', Type\TimeType::class)->add('birthday', Type\BirthdayType::class)->add('checkbox', Type\CheckboxType::class)->add('file', Type\FileType::class)->add('radio', Type\RadioType::class)->add('password_repeated', Type\RepeatedType::class, array('type' => Type\PasswordType::class, 'invalid_message' => 'The password fields must match.', 'options' => array('required' => true), 'first_options' => array('label' => 'Password'), 'second_options' => array('label' => 'Repeat Password')))->add('submit', Type\SubmitType::class)->getForm();
        if ($form->handleRequest($request)->isSubmitted()) {
            if ($form->isValid()) {
                $app['session']->getFlashBag()->add('success', 'The form is valid');
            } else {
                $form->addError(new FormError('This is a global error'));
                $app['session']->getFlashBag()->add('info', 'The form is bound, but not valid');
            }
        }
        return $app['twig']->render('form.html.twig', array('form' => $form->createView()));
    }