public function validate(LBoxFormControl $control = NULL) { try { foreach ($control->getControls() as $control) { parent::validate($control); } } catch (Exception $e) { throw $e; } }
public function validate(LBoxFormControl $control = NULL) { try { foreach ($control->getControls() as $control) { try { parent::validate($control); } catch (LBoxExceptionFormValidator $e) { // jina vyjimka nez empty control if ($e->getCode() != LBoxExceptionFormValidator::CODE_FORM_VALIDATION_CONTROL_EMPTY) { throw $e; } else { // tento neprosel - dalsi control continue; } } // parent usoudil, ze control je vyplnen - OK jeden staci return; } // pokud dojde az sem (nenasel jedinej vyplnenej) vyhodi posledni required vyjimku (validace neprosla) throw $e; } catch (Exception $e) { throw $e; } }
public function validate(LBoxFormControl $control = NULL) { try { if (strlen($control->title) < 1) { return; } // parse conditions $y = 0; $conditionsPacks = explode(";", $control->title); //LBoxFirePHP::table($conditionsPacks, "\$conditionsPacks"); $conditions = array(); foreach ($conditionsPacks as $conditionsPack) { $conditionsParts = explode(":", $conditionsPack); $flag = 0; $k = ""; foreach ($conditionsParts as $conditionsPart) { if (!$flag) { $k = $conditionsPart; } else { $condsParts = explode("=", $conditionsPart); $conds = array(); $flag2 = 0; $k2 = ""; foreach ($condsParts as $condsPart) { if (!$flag2) { $k2 = $condsPart; } else { $conds[$k2] = explode("|", $condsPart); } $flag2 = $flag2 == 1 ? 0 : 1; } $conditions[$y][$k] = $conds; } $flag = $flag == 1 ? 0 : 1; } $y++; } //LBoxFirePHP::table($conditions, "\$conditions"); // check the data foreach ($conditions as $conditionsPack) { foreach ($conditionsPack as $action => $condition) { switch ($action) { case "enable": foreach ($condition as $masterControlName => $valueOptions) { $masterControl = $control->getForm()->getControlByName($masterControlName); //LBoxFirePHP::table($valueOptions, $control->getName() ." \$valueOptions"); foreach ($valueOptions as $valueOption) { //if($control->getName() == "insurance_amount_reality"){var_dump($masterControl->getValue());die;} if ($masterControl instanceof LBoxFormControlChooseMore || $masterControl instanceof LBoxFormControlChooseMoreFromRecords) { if (is_numeric(array_search($valueOption, $masterControl->getValue()))) { // master control obsahuje jednu z podminovanych hodnot - tento control tedy je povinny //LBoxFirePHP::warn($control->getName() ." je povinna diky ". $masterControl->getName()); parent::validate($control); } } if ($masterControl->getValue() == $valueOption) { // master control obsahuje jednu z podminovanych hodnot - tento control tedy je povinny //LBoxFirePHP::warn($control->getName() ." je povinna diky ". $masterControl->getName() ." = ". $masterControl->getValue()); parent::validate($control); } } } break; } } } } catch (Exception $e) { throw $e; } }