code: public function rules()
      {
          $rules = [
              'title' => 'required|min:3|max:255',
              'description' => 'min:10|max:1000',
              'start.date' => 'required|date',
              'start.time' => 'required|time',
              'border_color' => 'sometimes|regex:/#([a-fA-F\d]){6}/',
              'background_color' => 'sometimes|regex:/#([a-fA-F\d]){6}/',
              'text_color' => 'sometimes|regex:/#([a-fA-F\d]){6}/',
          ];
  
          if (empty($this->get('all_day'))) {
              $rules['end.date'] = 'required|date';
              $rules['end.time'] = 'required|time';
          }
  
          if (!empty($this->get('repeat'))) {
              $rules['repeat_dates'] = 'dates_array';
          }
  
          if (!empty($this->get('use_event_location'))) {
              if (empty($this->get('address')) || (empty($this->get('longitude')) || empty($this->get('latitude')))) {
                  $rules['longitude'] = 'required';
                  $rules['latitude'] = 'required';
              }
  
              if (empty($this->get('longitude')) && empty($this->get('latitude'))) {
                  $rules['address'] = 'required';
               }
          }
  
          return $rules;
      }
docs: Get the validation rules that apply to the request.
  
  @return array