如何将验证错误从控制器传递到弹出窗体codeigniter

时间:2016-05-19 13:40:34

标签: codeigniter

我读了这个问题 - Send data from controller to popup...但不适合我,或者说我做得不好。

我通过showpopup($url);功能显示弹出窗体,如下所示

<a href="#" onclick="showpopup('<?php echo base_url();?>index.php?modal/popup/modal_student_edit/<?php echo $row['student_id'];?>');">

我想将validation_error();从控制器发送到Modal表单,但发现很难将错误传递给弹出窗体。

控制器:

Form_validation库已自动加载

function student(){
    $verify = array(field, label, rules);
    $this->form_validation->set_rules($verify);
    if($this->form_validation->run() == FALSE){
        $data['errors'] = validation_errors();

        /** send error to popup form how?
        $this->load->view->(popup_form, $data); **/
    }
}
else{
echo "success";
}

查看:

<!-- Display Errors if any -->
    <?php if($errors){?>
        <div class="alert alert-danger">
            <?php echo $errors; ?>
        </div>
    <?php }?>

1 个答案:

答案 0 :(得分:1)

您可以在视图中这样做:

<?php 
$err = validation_errors();
if(isset($err) && !empty($err)):
echo '<script> alert("'.str_replace(array("\r","\n"), '\n', $err).'"); </script>';
endif;
?>

或者您可以通过以下方式在控制器中执行此操作:

if($this->form_validation->run() == FALSE){
  echo '<script> alert("'.str_replace(array("\r","\n"), '\n', validation_errors()).'"); </script>';
  $this->load->view('your_view_name');
}