2013-05-14 136 views
0

我设法从数据库检索用户数据并填充表单以供将来更新。随着我的看法和数据加载在字段上,我有一个更新按钮,调用我的控制器进行验证。显然,form_validation-> run()返回false。 下面是我的看法,我做同样的姓和名:使用Codeigniter更新带填充表单的数据库

// 
     //EMAIL 
     // 
     $data_email= array('name' => 'email', 
          'placeholder' => '', 
          'value' => $account->email, 
          'class' => 'span12', 
          'rules' => 'required', 
          'style'=> 'font-size:18px;'); 
     $email = array('class' => '', 
         'style' => 'font-weight:bold;'); 

     echo form_label('Email: ','email', $email);    
     echo form_input($data_email); 
     // 
     //END OF EMAIL 
     // 

下面是我的控制器

$this->form_validation->set_rules('fname', 'First Name', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('lname', 'Last Name', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('email', 'Email','required|trim|xss_clean|valid_email|is_unique[accounts.email]|is_unique[temp_accounts.email]'); 

在这一点上form_validation->运行()返回一个错误,无法验证来自表单的数据。任何建议将非常感激。

+0

你是否缩小了哪个规则失败验证? – 2013-05-14 08:51:46

+0

我还没有找到哪个规则导致它。 – 2013-05-14 19:30:13

+0

因此,您没有考虑逐个删除规则以查看哪个字段和哪个规则导致验证失败?在你要求我们帮助我们最终告诉你做同样的事情之前,这将是最明显的事情。请先尝试调试。 – 2013-05-15 04:00:05

回答

0

我不确定,因为描述不是很清楚,但是您可以尝试从验证规则中移除is_unique规则吗?

我猜你的代码正在检查这封电子邮件是否已经在帐户表中,如果这个视图是从你的数据库中填充的话。

+0

我也这么想过,但如果用户更新他的电子邮件,你会如何评估电子邮件是否存在? – 2013-05-14 19:31:54

+0

那么,我会做一个手动检查,如果这个电子邮件地址已经存在于数据库而不是形式验证方法。你能否尝试检查它是否在没有形式验证器部分的情况下工作? – 2013-05-15 08:33:56

+0

我会尝试,实际上我认为那会奏效。谢谢。 – 2013-05-15 17:56:27

相关问题