【问题标题】:Update database with populated Form using Codeigniter使用 Codeigniter 使用填充的表单更新数据库
【发布时间】:2013-05-14 08:42:44
【问题描述】:

我设法从数据库中检索了用户的数据并填充了一个表单以供将来更新。在视图到位并在字段上加载数据后,我有一个更新按钮,它调用我的控制器进行验证。显然, form_validation->run() 返回 false。 以下是我的观点,我对姓名和姓氏做同样的事情:

//
        //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->run()返回false,无法验证表单中的数据。任何建议将不胜感激。

【问题讨论】:

  • 您是否缩小了验证失败的规则范围?
  • 我还没查出是哪条规则造成的。
  • 所以你没有想过要一个一个删除规则,看看是哪个字段,哪个规则导致验证失败?在您要求我们提供帮助之前,这将是最明显的事情,我们最终会告诉您做同样的事情。请先努力调试。

标签: codeigniter validation


【解决方案1】:

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

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

【讨论】:

  • 我也想过,但是如果用户更新他的电子邮件,你会如何评估电子邮件是否存在?
  • 好吧,我会手动检查这个电子邮件地址是否已经存在于数据库中,而不是表单验证器方法中。您可以尝试在没有该表单验证器部分的情况下检查它是否可以工作吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
相关资源
最近更新 更多