Opakovane spustanie validacnych pravidiel

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

Ak v jednom form controle pouzijete

$form->addText('thumbnail_position', 'Pozícia na vytvorenie náhľadu')
	->addConditionOn($form['file'], Form::VALID)
	..

validacne pravidla pre control ‚file‘ budu spustene viac ako raz. Co je problem, ak sa vyuziva addRule() ako filter, ktory vykonava istu cinnost.

Asi dostanem odpoved, ze addRule vyuzivam zle, ze by som tuto logiku mal presunut do handlera. Ale ja by som rad vyriesil vsetky potrebne kontroly a operacie spojene so spracovanim formulara na urovni validacie, v samotnom handleri uz len ulozil data do databazy. Riesim formular, ktory spracovava subor. Suborom je video, a pocas spracovania formulara potrebujem zo suboru este vygenerovat thumbnail na zaklade pozicie (cas vramci videa) zadanej vo formulari.

Teda potrebujem overit uploadovany subor, ci to je flv, zistit dlzku videa (cez ffmpeg), overit ci zadany cas na vygenerovanie nahladu je validny a nie vacsi ako samotna dlzka, vygenerovat nasledne thumbnail, oba subory presunut na spravne miesto a naplnit databazu ich filenames. Vacsinu tych ukonov mi pride najvyhodnejsie vykonat prave na urovni validacie formularu.

Ako zvyknete podobne situacie (spracovanie suborov a zaroven ulozenie zaznamu do db, pripadne problemy a potom rollback resp. mazanie suborov) riesit vy ?