Но вот если следовать паттерну шина ничего не должна возвращать, только кидать эксепшены.
Тогда как делать валидацию используя Yii-шные формы?
Вот допустим форма контактов:
Код: Выделить всё
public function actionContact()
{
$command = new ContactSendCommand();
$command->name = Yii::$app->request->post('ContactForm')['name'];
$command->email = Yii::$app->request->post('ContactForm')['email'];
$command->subject = Yii::$app->request->post('ContactForm')['subject'];
$command->body = Yii::$app->request->post('ContactForm')['body'];
$command->isRequested = Yii::$app->request->isPost;
$contactModel = Yii::$app->commandBus->handle($command);
if ($contactModel->isSuccess) {
Yii::$app->session->setFlash('contactFormSubmitted');
return $this->refresh();
}
return $this->render('contact', ['contactForm'=>$contactModel]);
}
Кто как делает?