/** * Checks to make sure all the required fields are valid for the application. * @param I2CE_Form $form */ public function validate_form_application($form) { if ($form->felony == 1 && !I2CE_Validate::checkString($form->felony_circumstance)) { $form->setInvalidMessage('felony_circumstance', 'required'); } if ($form->full_time == 0 && !I2CE_Validate::checkString($form->hours)) { $form->setInvalidMessage('hours', 'required'); } }
/** * Perform any extra validation for the license. * @param I2CE_Form $form */ public function validate_form_training($form) { /** **Check to ensure that Level and semester are consistency **/ $semester = $form->semester; $level = $form->academic_level; if ($semester[1] != 2 * $level[1] - 1 and $semester[1] != 2 * $level[1]) { $form->setInvalidMessage("academic_level", "Level And Semester Are Not Consistency"); $form->setInvalidMessage("semester", "Level And Semester Are Not Consistency"); } $parent_form = $form->getParent(); $exam_types = $form->training_course_exam_type; //check to ensure that,each exam type selected has its assessment field foreach ($exam_types as $exam_type) { $value = $form->{$exam_type}[1]; if ($value == "") { $form->setInvalidMessage($exam_type[1], ucfirst($exam_type[1]) . " Assessment Must Be Filled"); } elseif (!is_numeric($value) or $value == 0) { $form->setInvalidMessage($exam_type[1], ucfirst($exam_type[1]) . " Must Be Numeric And Greater Than 0"); } else { $total_assessment = $value + $total_assessment; } } //ensure that assessment sum up to 100 if ($total_assessment > 100 or $total_assessment < 100) { foreach ($exam_types as $exam_type) { $form->setInvalidMessage($exam_type[1], "Assessments Must Sum Up To Hundred"); } } //check to ensure that,no assessment is filled without being selected from exam types $exam_types = I2CE_FormStorage::listFields("training_course_exam_type", array("id")); foreach ($exam_types as $exam_type => $exam_type_array) { $exit = false; foreach ($form->training_course_exam_type as $form_exam_type) { if (in_array($exam_type, $form_exam_type)) { $exit = true; } } if ($exit) { continue; } $value = $form->{$exam_type}; if ($value != "") { $form->setInvalidMessage($exam_type, ucfirst($exam_type) . " Should Not Be Filled As It Is Not Selected From Exam Types"); } } }
/** * Checks to make sure the end date is after the start date for the person position. * @param I2CE_Form $form */ public function validate_form_person_position($form) { if ($form->start_date->isValid() && $form->end_date->isValid()) { if ($form->start_date->compare($form->end_date) < 1) { $form->setInvalidMessage('end_date', 'bad_date'); } } }
/** * Checks to make sure the end of applicability is after the start of applicability. * @param I2CE_Form $form */ public function validate_form_accident($form) { if ($form->start_date->isValid() && $form->end_date->isValid()) { if ($form->start_date->compare($form->end_date) < 0) { $form->setInvalidMessage('end_date', 'bad_date'); } } }
/** * Perform extra validation for the person form. * A new person record needs to verify there aren't any existing * records with the same name. * @param I2CE_Form $form */ public function validate_form_person($form) { $search = array(); $surname_ignore = false; if (isset($form->surname_ignore)) { $surname_ignore = $form->surname_ignore; } if (I2CE_ModuleFactory::instance()->isEnabled('forms-storage') && $form->getId() == '0' && !$surname_ignore && I2CE_Validate::checkString($form->surname) && I2CE_Validate::checkString($form->firstname)) { $where = array('operator' => 'AND', 'operand' => array(0 => array('operator' => 'FIELD_LIMIT', 'field' => 'surname', 'style' => 'lowerequals', 'data' => array('value' => strtolower($form->surname))), 1 => array('operator' => 'FIELD_LIMIT', 'field' => 'firstname', 'style' => 'lowerequals', 'data' => array('value' => strtolower($form->firstname))))); $results = I2CE_FormStorage::listFields('person', array('surname', 'firstname'), false, $where, array('surname', 'firstname')); if (count($results) > 0) { foreach ($results as $id => &$data) { $data = implode(', ', $data); } $form->setInvalidMessage('surname', 'unique', array("view?id=" => $results)); } } }
/** * Perform any extra validation for the private practice license. * @param I2CE_Form $form */ public function validate_form_private_practice($form) { if (I2CE_Validate::checkDate($form->end_date) && I2CE_Validate::checkDate($form->start_date)) { if ($form->end_date->compare($form->start_date) > -1) { $form->setInvalidMessage("end_date", "bad_date"); } } }
/** * Perform extra validation for the person_id form. * Make sure the date of issue is before the date of expiration. * @param I2CE_Form $form */ public function validate_form_person_id($form) { if ($form->issue_date->isValid() && $form->expiration_date->isValid()) { if ($form->issue_date->compare($form->expiration_date) < 1) { $form->setInvalidMessage('expiration_date', 'bad_date'); } } /*Validate ID Pattern, this is optional*/ $id_number = $form->getField('id_num')->getDBValue(); $id_type = $form->getField('id_type')->getDBValue(); $formObj = I2CE_FormFactory::instance()->createContainer($id_type); $formObj->populate(); if (($patern_field = $formObj->getField('pattern')) instanceof I2CE_FormField) { $pattern = $pattern_field->getValue(); if (trim($pattern) != '') { $matches = array(); preg_match($pattern, $id_number, $matches); if (count($matches) == 0) { $form->setInvalidMessage('id_num', 'wrong_pattern'); } } } }
/** * Perform extra validation for the person_id form. * Make sure the date of issue is before the date of expiration. * @param I2CE_Form $form */ public function validate_form_person_id($form) { if ($form->issue_date->isValid() && $form->expiration_date->isValid()) { if ($form->issue_date->compare($form->expiration_date) < 1) { $form->setInvalidMessage('expiration_date', 'bad_date'); } } }
/** * Perform any extra validation for the license. * @param I2CE_Form $form */ public function validate_form_scheduled_training_course($form) { if (I2CE_Validate::checkDate($form->end_date) && I2CE_Validate::checkDate($form->start_date)) { $compare = $form->end_date->compare($form->start_date); if ($compare > 0) { $form->setInvalidMessage("end_date", 'bad_date'); } } }