Validace dat z různých zdrojů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sKopheK
Člen | 207
+
0
-

Ahoj,

řeším problém s přidáváním dat do databáze. Data mohou pocházet z uživatelem vyplněného formuláře, nebo importovaného XLS souboru. Jde mi o to, abych měl všechny definice polí hezky na jednom místě, tzn. i včetně validačních pravidel. Párkrát se to tady už probíralo, ale nic definitivního jsem nenašel.

Já to zatím vymyslel přes třídu implementující rozhraní Form\IControl + má zkopírováných asi 20 metod z různých formulářových prvků, aby se na ni dala navěsit pravidla. Jak byste na to šli vy?

jiri.pudil
Nette Blogger | 1032
+
0
-

Validitu a konzistenci dat by si měla hlídat samotná modelová vrstva, protože pak nemusíš tu validační logiku duplikovat ve formulářích, v importu z XLS, ve vstupu z REST API, atd. Tedy tím jedním místem by IMO měla být přímo entita nebo nějaká její obslužná třída. Např. v Doctrině to jde krásně vyřešit pomocí symfoního validátoru, který se pak dá mj. snadno napojit na formuláře v Nette.

sKopheK
Člen | 207
+
0
-

To vypadá použitelně, v příštím projektu to možná vyzkouším, pokud nebudu líný přecházet z NetteDb. Díky