/** * Perform form data validation. * * @param $form_data * * @return array */ public function validate($form_data) { $errs = array(); if (!@$form_data['appointment_date']) { $errs['appointment_date'] = 'Please enter an appointment date'; } $appointment_date = \Helper::convertNHS2MySQL($form_data['appointment_date']); $date_validator = new \OEDateValidator(); if (!$date_validator->validateValue($appointment_date)) { if (strtotime($appointment_date) != false) { $errs['appointment_date'] = 'Appointment date is not in valid format'; } else { $errs['appointment_date'] = 'Appointment date is not a valid date'; } } else { $not_historical_validator = new \OEDateValidatorNotHistorical(); if ($not_historical_validator->validateValue($appointment_date) == false) { $errs['appointment_date'] = 'Appointment date cannot be in the past'; } } if ($appointment_time = @$form_data['appointment_time']) { $time_validator = new \OETimeValidator(); if (!$time_validator->validateValue($appointment_time)) { $errs['appointment_time'] = 'Appointment time is not valid'; } } return $errs; }