/** * Validate fields. * * @param $data * @return array */ public function validate($data) { $validator = new AB_Validator(); foreach ($data as $field_name => $field_value) { switch ($field_name) { case 'email': $validator->validateEmail($field_name, $data); break; case 'phone': $validator->validatePhone($field_name, $field_value, true); break; case 'date_from': case 'time_from': case 'time_to': case 'appointment_datetime': $validator->validateDateTime($field_name, $field_value, true); break; case 'name': $validator->validateString($field_name, $field_value, 255, true, true, 3); break; case 'service_id': $validator->validateNumber($field_name, $field_value); break; case 'custom_fields': $validator->validateCustomFields($field_value); break; default: } } if (isset($data['time_from']) && isset($data['time_to'])) { $validator->validateTimeGt('time_from', $data['time_from'], $data['time_to']); } return $validator->getErrors(); }
public function validate($data) { $reflection = new ReflectionObject($this); $validator = new AB_Validator(); foreach ($reflection->getProperties() as $reflectionProperty) { $field_name = $reflectionProperty->getName(); if (isset($data[$field_name])) { switch ($field_name) { case 'email': $validator->validateEmail($field_name, $data[$field_name], true); break; case 'phone': $validator->validatePhone($field_name, $data[$field_name], true); break; case 'requested_date_from': case 'requested_time_from': case 'requested_time_to': case 'booked_datetime': $validator->validateDateTime($field_name, $data[$field_name], true); break; case 'name': $validator->validateString($field_name, $data[$field_name], 255, true, true, 3); break; case 'service_id': $validator->validateNumber($field_name, $data[$field_name]); break; } } } if (isset($data['requested_time_from']) && isset($data['requested_time_to'])) { $validator->validateTimeGt('requested_time_from', $data['requested_time_from'], $data['requested_time_to']); } return $validator->getErrors(); }