Создание поведения BeforeActionValidator, затем создание метода beforeAction внутри создания правила проверки с помощью HttpException.Вот пример:
class BeforeActionValidator extends Behavior
{
public $rules = [];
public function events()
{
return [
Controller::EVENT_BEFORE_ACTION => 'beforeAction'
];
}
public function beforeAction()
{
$lang = Yii::$app->request->get('lang', null)??Yii::$app->request->post('lang', null);
if ($lang == null) {
throw new HttpException(422,"lang is required");
}
}
}
И затем присоедините это поведение к файлу конфигурации.В вашем модуле.
public function init()
{
parent::init();
\Yii::configure($this,
[
'as globalAccess' => [
'class' => BeforeActionValidator::class,
]
]);
}
Если вы хотите, вы можете добавить другие события.Нравится AFTER_REQUEST