Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2.3][SF][SF2] Problem z walidacją formularza
ZaqU
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

Ostrzeżenie: (0%)
-----


Mam problem z walidacją formularza, która - wydaje się - nie chce działać tak jak powinna.

Po czym to stwierdzam?
Po pierwsze metoda $form->isValid() zwraca zawsze true, nawet jeżeli dane są całkowicie niezgodne z tym co trzymam w validation.yml. Po drugie $form->getErrorsAsString() zwraca cały ciąg [FieldName1]: No errors, [FieldName2]: No errors ... itd.


Formularz tworzę w następujący sposób:
  1. public function indexAction()
  2. {
  3. return $this->render('MyBundle:MyView:index.html.twig', array(
  4. "form" => $this->createForm( new CategoryType(), new Category() )->createView()
  5. ));
  6. }


CategoryType:
  1. class CategoryType extends AbstractType {
  2. public function buildForm(FormBuilderInterface $builder, array $options) {
  3.  
  4. $builder ->add('name', 'text')
  5. ->add('categoryId', 'entity', array(
  6. 'class' => 'MyBundle:Category',
  7. 'property' => 'name',
  8. ));
  9. }
  10.  
  11. public function getName() {
  12. return 'my_form_name';
  13. }
  14. }


I oczywiście validation.yml. Nie wiedziałem którą wersję zastosować (czy dla Form/Type/CategoryType czy dla Entity/Category) dlatego użyłem obu, ale żadna nie działa.
  1. MyBundle/Form/Type/CategoryType:
  2. properties:
  3. - name:
  4. - NotBlank: ~
  5. - Length:
  6. min: 3
  7. max: 30
  8.  
  9. MyBundle/Entity/Category:
  10. properties:
  11. - name:
  12. - NotBlank: ~
  13. - Length:
  14. min: 3
  15. max: 30


Problem na pewno jest błahy, ale nie potrafię go rozwiązać już od wczoraj, a wszystko robiłem zgodnie z przykładami w dokumentacji Symfony.

Ten post edytował ZaqU 26.01.2015, 17:53:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:40