您好我有一个论坛,当用户创建评论时,我希望如果他没有输入任何内容我想告诉他一个错误,他必须输入内容:)但我不知道怎么把他放到他所在的主题。
我有这个
if($this->_submit_validate_comment() == false) {
$this->post(); return;
}
function _submit_validate_comment() {
$this->form_validation->set_rules('kommentar', 'kommentar', 'required|min_length[4]');
return $this->form_validation->run();
}
答案 0 :(得分:3)
您可以使用jquery执行此操作,但如果这不是一个选项,您可以从网址获取论坛或主题ID(假设您使用这种方式的网址)。
例如:
http://yoursite.com/forum/topic/12
if($this->_submit_validate_comment() == false)
{
$topic_id = $this->uri->segment(3);
redirect('/forum/topic/'. $topic_id);
}
或
if($this->_submit_validate_comment() == false)
{
$topic_id = $this->uri->segment(3);
$this->topic($topic_id);
}
希望这有帮助。
答案 1 :(得分:0)
感谢您帮助我明白您的意思,但它不起作用:b,
我有这个
$ topic_id = $ this-> uri-> segment(3); $这 - >交($ topic_id); 返回;
我的网址是
本地主机:8888 / CI / index.php的/论坛/ create_comment
看起来它无法找到ID
我的论坛网址是 本地主机:8888 / CI / index.php的/论坛/后/ 33
这是我的功能
function create_comment(){ 如果($这 - > _submit_validate_comment() == false){$ id = $ this-> uri-> segment(3); $这 - >交($ ID);返回; // echo“验证fejl,kontakt lige en admin!“;} else {$ data = 数组('fk_forum_traad'=> $这 - >输入 - >柱( 'ID'), 'brugernavn'=> $这 - >会话而>用户数据( '用户名'), 'indhold'=> $这 - >输入 - >柱( 'kommentar'), 'dato'=> 'fejl');
$这 - >负载>模型( 'forum_model'); $这 - > forum_model-> create_comment($数据); 重定向( '/论坛/后/'。 $这 - >输入 - >柱( 'ID') '', '刷新'); } }
function post($ id){ $这 - >负载>模型( 'forum_model'); $ data ['query'] = $这 - > forum_model->帖($这 - > URI->链段(3));
$这 - >负载>模型( 'forum_model'); $ data ['comments'] = $这 - > forum_model->注释(这 - $> URI->链段(3));
$data['content'] = 'forum_post_view';
$这 - >负载>查看( '包括/模板', $的数据); }
答案 2 :(得分:0)
为什么不使用隐藏的输入字段传递表单提交中的返回uri?除了在执行重定向之前验证返回uri之外,控制器不需要额外的工作。
将验证错误字符串放在会话类的flashdata中,以便在表单中回显,以及用于预填充表单的任何其他数据)