示例#1
0
 /**
  * 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();
 }