Php 防止表单在验证失败时显示默认值codeigniter

Php 防止表单在验证失败时显示默认值codeigniter,php,codeigniter,Php,Codeigniter,以上是我的控制器的功能,该功能在输入字段中加载带有数据库填充值的编辑纵断面图。现在,当完成编辑后提交表单时,它将进入edit\u profile()函数中的验证过程。我故意运行false验证函数以进行检查。现在,如果验证运行===false,我将再次加载ess\u edit\u profile视图,但验证消息不会出现。此外,表单字段将填充默认值,这些值是我通过set\u value()函数设置的 下面是我如何显示包含数据库数据的表单字段 public function edit_profile(

以上是我的控制器的功能,该功能在输入字段中加载带有数据库填充值的编辑纵断面图。现在,当完成编辑后提交表单时,它将进入
edit\u profile()
函数中的验证过程。我故意运行false验证函数以进行检查。现在,如果验证运行===false,我将再次加载
ess\u edit\u profile
视图,但验证消息不会出现。此外,表单字段将填充默认值,这些值是我通过
set\u value()
函数设置的

下面是我如何显示包含数据库数据的表单字段

public function edit_profile(){

        $logged_in_user = $this->session->userdata('logged_in');
        $data['images_url'] = $this->config->item('images_url');
        $data['cdn_url'] = $this->config->item('cdn_url');
        $data['reminder'] = $this->config->item('reminder');
        $data['current_module'] = "ess";
        $data['user_details'] = $this->ess->get_user_details($logged_in_user['user_id']);
        $this->load->view("header", $data);
        $this->load->view("leftbar", $data);
        $this->load->view("ess/ess_edit_profile");
        $this->load->view("footer", $data);

           if($this->input->post('submit')){
            $post_data = $this->input->post();
            $this->form_validation->set_rules('full_name','Full Name','required|trim|xss_clean');
            $this->form_validation->set_rules('email','Email','required|trim|valid_email');
            $this->form_validation->set_rules('blood_group','Blood Group','max_length[2]');
            $this->form_validation->set_rules('phone','Phone','required|trim|xss_clean');
            $this->form_validation->set_rules('address','Address','required|xss_clean|max_length[100]');
            $this->form_validation->set_rules('designation','Designation','required|xss_clean');
            $this->form_validation->set_rules('emergency_name','Emergency Name','required|xss_clean');
            $this->form_validation->set_rules('emergency_number','Emergency Number','required|xss_clean');
            $this->form_validation->set_rules('next_of_kin','Next of Kin','trim|xss_clean');

            if($this->form_validation->run() === true){
                // update data
            } else {
                $this->load->view("ess/ess_edit_profile");
            }



}
}

全名

尝试删除此部分,然后重试

 <td>
                    <label for="full_name">Full Name</label>
                    <input style="width: 300px;" type="text" name="full_name" id="full_name" value="<?php echo set_value('full_name',$user_details[0]->ui_full_name); ?>" />
                    <?php echo form_error('full_name', '<span class="alert">', '</span>'); ?>
                </td>

请使用
set_value
函数设置元素值

像这样

  if($this->form_validation->run() === true){
                // update data
            } 
   $this->load->view("ess/ess_edit_profile");
如果该值不是必需的,则还应设置验证规则
trim

$this->form_validation->set_rules('name','Edit name','trim|xss_clean|required');

有什么不同吗?@Grish我已经更新了我的问题。我已经在做这个了,请检查一下
$this->form_validation->set_rules('name','Edit name','trim|xss_clean|required');
$this->form_validation->set_rules('name','Edit name','trim');