我在页面底部有回复表单的主题节目页面(主题/节目)。 重播表单帖子以发布/添加操作。成功添加回复后,我可以在任何地方重定向。问题是当存在一些错误时,例如回复表单为空并且调用post / add。我需要转到线程/显示(使用'错误'数组)并在那里显示错误,因为我在那里有回复表。
try {$forumPost->save();
} catch (ORM_Validation_Exception $e) {
$errors = $e->errors('');
//I need change url here to thread/show
}
有可能吗?
答案 0 :(得分:0)
很久以来我没有使用过Kohana,但
$this->template->content = View::factory('thread/show')
->bind('errors', $errors);
这应该是这样的。您正在为视图设置变量,变量当然可以是像您这样的错误数组。
您也可以通过这种方式将多个变量绑定到视图中
$this->template->content = View::factory('thread/show')
->bind('user', $user)
->bind('message', $message)
->bind('errors', $errors);
我希望这是你真正想要的!
答案 1 :(得分:0)
您可以将错误存储在Session
数组中。所以他们会坚持多个请求
try {
$forumPost->save();
} catch (ORM_Validation_Exception $e) {
$errors = $e->errors('');
Session::instance()->set('thread_add_errors', $errors);
HTTP::redirect('thread/show');
}
然后在线程显示视图
<?php if($errors = Session::instance()->get('thread_add_errors')): ?>
// Show errors
// Don't forget to delete the error :)
<?php Session::instance()->delete('thread_add_errors'); ?>
<?php endif; ?>