To co jsem napsal byl jen příklad. Jasně, že se to dá vyřešit vnořenými podmínkami a podobně. Jen jsem se chtěl zeptat jestli to jde i nějak přímo (například nastavit php).
Jde to tohle - při registraci společnosti na server je nutné zadat jak údaje společnosti tak údaje hlavního uživatele (=povinného účtu s vyššími právy vytvářet další uživatele k dané společnosti a podobně, prostě takvého správce společnosti).
Pro přidání uživatele a přídání společnosti mám dvě různé metody, které kontrolují validitu vstupních dat jak pro společnost tak pro uživatele zvlášť. V případě, že jsou nějaká vstupní data zadána špatně potřebuju aby se mi vrátily chyby (které vrací ty metody pro validaci) a zastavit provádění registrace a vypsat chyby.
Přesdtavoval jsem si to jednoduše nějak takhle:
if ( !$this -> AddCheckData( $Data[ 'company' ], $TMPReport[ 0 ] ) || !$this -> User -> RegistrationCheckData( $Data[ 'user' ], $TMPReport[ 1 ] ) )
{
// tady vypíšu report chyb z metod v podmínce - pro zobrazení na formuláři
$Report = Report::Get( $this, 'Add', $TMPResult, $Data, array( 'company' => $TMPReport[ 0 ] -> Errors(), 'user' => $TMPReport[ 1 ] -> Errors() ) , null, $TMPReport );
return false;
}
// pokud bych se dosal sem tak by pokračovalo provádění registrace
Jenže v případě, že by nastala chyba hned v kontrole společností (metada na prvním místě v podmínce) tak by se neprovedla validace uživatelských dat a i v případě, že by v nich byla chyba by se nevypsala dokud by uživatel nevyplnil správně celou část formuláře společnosti a až pak by zjistil že je ještě něco špatně v datech uživatele...
Prostě mě zajímalo jestli se to provádění podmínek dá nějak nastavit. Ono je úplně logické, že se to provádí tak jak se to provádí, ale přecejen je někdy potřeba provést podmínku jinak. :)