Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. // creating the custom constraint message
  2.  
  3. entity.name.not_blank: 'Bitte einen Namen eingeben!'
  4.  
  5. // creating the translator
  6.  
  7. $translator = new Translator('de');
  8. $translator->setFallbackLocales(['de']);
  9. $translator->addLoader('xlf', new XliffFileLoader());
  10. $translator->addLoader('yml', new YamlFileLoader());
  11.  
  12. // adding default translations
  13. $translator->addResource('xlf', "path/to/vendor/symfony/form/Resources/translations/validators.de.xlf", 'de', 'validators');
  14. $translator->addResource('xlf', "path/to/validator/Resources/translations/validators.de.xlf", 'de', 'validators');
  15.  
  16. // adding custom translations
  17. $translator->addResource('yml', "path/to/messages.de.yaml", 'de');
  18. $translator->addResource('yml', "path/to/validators.de.yaml", 'de', 'validators');
  19.  
  20.  
  21. // setting up Twig
  22.  
  23. $defaultFormTheme = 'bootstrap_4_layout.html.twig';
  24. $appVariableReflection = new ReflectionClass('SymfonyBridgeTwigAppVariable');
  25.  
  26. $twig = new Environment(new FilesystemLoader(['/path/to/views', '/path/to/Resources/views/Form']));
  27.  
  28. $formEngine = new TwigRendererEngine([$defaultFormTheme], $twig);
  29.  
  30. $twig->addRuntimeLoader(
  31. new FactoryRuntimeLoader([
  32. FormRenderer::class => function () use($formEngine, $csrfManager) {
  33. return new FormRenderer($formEngine, $csrfManager);
  34. }
  35. ])
  36. );
  37.  
  38. $twig->addExtension(new FormExtension());
  39. $twig->addExtension(new TranslationExtension($translator));
  40.  
  41.  
  42. // creating the form factory adding the Validator extension
  43.  
  44. $validator = Validation::createValidator();
  45. $formFactory = Forms::createFormFactoryBuilder()
  46. ->addExtension(new ValidatorExtension($validator))
  47. ->getFormFactory();
  48.  
  49.  
  50. // rendering the form using Twig
  51.  
  52. echo $this->getTwig()->render('form.html.twig', [
  53. 'form' => $form->createView()
  54. ]);
  55.  
  56. // setting up the EntityType form
  57.  
  58. public function buildForm(FormBuilderInterface $builder, array $options) {
  59. $builder
  60. ->add('name', TextType::class, [
  61. 'constraints' => [
  62. new NotBlank(['message' => 'entity.name.not_blank'])
  63. ]
  64. ]);
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement