Im CakePHP-Framework sind Validierungsregeln eine Eigenschaft des Modells. Das bedeutet, es spielt keine Rolle, woher die Daten kommen: Wenn Sie sie in einem Modell speichern möchten, müssen sie die Validierung bestehen.
In Symfony geben Sie dagegen die Validierungsregeln pro Formular an. Da es möglicherweise mehr als ein Formular pro Modell gibt (und Formulare Daten aus verschiedenen Modellen enthalten können), kann es sein, dass Daten für ein bestimmtes Modell verschiedene Filter bestehen müssen, je nachdem, aus welchem Formular sie stammen.
Ich verstehe, dass dies gelegentlich nützlich sein kann, und tatsächlich bietet CakePHP Methoden an, um verschiedene Validierungsregeln dynamisch anzugeben, wenn Sie möchten. Aber dies ist die Ausnahme, nicht die Regel. Mir scheint, dass das Entwerfen auf eine andere Weise die Tür für Fehler öffnet, bei denen Sie Ihre Validierungsregeln aktualisieren, aber vergessen, alle Formulare zu überprüfen.
Andererseits bin ich sicher, dass Fabien Potencier klüger ist als ich und wahrscheinlich einige Gedanken in dieses Design gesteckt hat. Also lautet meine Frage:
Was sind die guten Gründe für eine Validierung pro Formular (als Regel, nicht als Ausnahme)?