Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // creating the custom constraint message
- entity.name.not_blank: 'Bitte einen Namen eingeben!'
- // creating the translator
- $translator = new Translator('de');
- $translator->setFallbackLocales(['de']);
- $translator->addLoader('xlf', new XliffFileLoader());
- $translator->addLoader('yml', new YamlFileLoader());
- // adding default translations
- $translator->addResource('xlf', "path/to/vendor/symfony/form/Resources/translations/validators.de.xlf", 'de', 'validators');
- $translator->addResource('xlf', "path/to/validator/Resources/translations/validators.de.xlf", 'de', 'validators');
- // adding custom translations
- $translator->addResource('yml', "path/to/messages.de.yaml", 'de');
- $translator->addResource('yml', "path/to/validators.de.yaml", 'de', 'validators');
- …
- // setting up Twig
- $defaultFormTheme = 'bootstrap_4_layout.html.twig';
- $appVariableReflection = new ReflectionClass('SymfonyBridgeTwigAppVariable');
- $twig = new Environment(new FilesystemLoader(['/path/to/views', '/path/to/Resources/views/Form']));
- $formEngine = new TwigRendererEngine([$defaultFormTheme], $twig);
- $twig->addRuntimeLoader(
- new FactoryRuntimeLoader([
- FormRenderer::class => function () use($formEngine, $csrfManager) {
- return new FormRenderer($formEngine, $csrfManager);
- }
- ])
- );
- $twig->addExtension(new FormExtension());
- $twig->addExtension(new TranslationExtension($translator));
- …
- // creating the form factory adding the Validator extension
- $validator = Validation::createValidator();
- $formFactory = Forms::createFormFactoryBuilder()
- ->addExtension(new ValidatorExtension($validator))
- ->getFormFactory();
- …
- // rendering the form using Twig
- echo $this->getTwig()->render('form.html.twig', [
- 'form' => $form->createView()
- ]);
- // setting up the EntityType form
- public function buildForm(FormBuilderInterface $builder, array $options) {
- $builder
- ->add('name', TextType::class, [
- 'constraints' => [
- new NotBlank(['message' => 'entity.name.not_blank'])
- ]
- ]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement