Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony2][SF2][SF3][Validator] Kolekcja
kpt_lucek
post
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Witajcie

Mam pewien problem, posiadam walidację encji która zawiera kolekcję encji pod konkretnym property, uzupełniane jest wszystko przez formularz z opcją dodawania nowego wpisu.

  1. $builder
  2. //...
  3. ->add('someProperty', CollectionType::class, [
  4. 'entry_type' => SomeNestedEntityType::class,
  5. 'allow_add' => true
  6. ]);

Kod
SomeBundleBundle\Entity\SomeEntity:
    properties:
        someNestedEntities:
            - Valid: ~
            - Count:
                min: 1
                groups: [DEFAULT]

Kod
SomeBundle\Entity\SomeNestedEntity:
    properties:
        value:
            - NotBlank:
                groups: [DEFAULT]
            - NotNull:
                groups: [DEFAULT]
            - Type:
                type: float
                groups: [DEFAULT, AUTO]
            - Type:
                type: string
                groups: [PERIODIC]
        strategy:
            - Choice:
                choices: [single, shared, everyone]
                groups:  [DEFAULT, AUTO]
            - NotBlank:
                groups: [DEFAULT]
            - NotNull:
                groups: [DEFAULT]
        placement:
            - GreaterThan:
                value: 0
                groups: [DEFAULT]
            - Type:
                type: integer
                groups: [DEFAULT]
            - NotBlank:
                groups: [DEFAULT]
            - NotNull:
                groups: [DEFAULT]


Całość to form, zastosowanie czysto RESTowe.

Problem:
Pole placement w SomeNestedEntity powinno być walidowane w formie x, x+1, x+2, x+3...x+n, tj. nie może wystąpić przerwa w nadawaniu kolejnych numerów, ale nie ma ograniczenia co do "początku" za wyjątkiem tego, że muszą być od siebie różne, musi być int oraz muszą być zajęte wszystkie...indexy? bo tak to chyba można nazwać. Nie ma znaczenia kolejność ich ułożenia w tablicy.

Pytanie:
Jak to dobrze ograć, żeby wszystkie warunki były spełnione? Nie ukrywam, że Constraint na klasę wydaje mi się najodpowiedniejszy, aczkolwiek jak ogarnąć weryfikację zajętości indexów w kolekcji z poziomu elementu który do niej dostępu nie ma?

Inny pomysł?


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post

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: 21.08.2025 - 21:19