code: public function beforeAction($action)
      {
          $event = new ActionEvent($action);
          $this->trigger(self::EVENT_BEFORE_ACTION, $event);
          return $event->isValid;
      }
docs: This method is invoked right before an action within this module is executed.
  
  The method will trigger the [[EVENT_BEFORE_ACTION]] event. The return value of the method
  will determine whether the action should continue to run.
  
  In case the action should not run, the request should be handled inside of the `beforeAction` code
  by either providing the necessary output or redirecting the request. Otherwise the response will be empty.
  
  If you override this method, your code should look like the following:
  
  ```php
  public function beforeAction($action)
  {
  if (!parent::beforeAction($action)) {
  return false;
  }
  
  // your custom code here
  
  return true; // or false to not run the action
  }
  ```
  
  @param Action $action the action to be executed.
  @return bool whether the action should continue to be executed.