无法使用codeIgniter验证更改值

时间:2017-07-21 12:07:58

标签: php codeigniter validation

这里我有一个联系人列表,用户可以在其中添加新联系人以及编辑它们。现在在添加时,我使用codeIgniter进行服务器端验证以减少冗余。此外,我还有许多用户可以添加他们的联系人。

假设他们的用户名为" John "和" Sara "。

在这种情况下,只要" 约翰"添加由他预先添加的新联系人,然后将其添加为重复的联系人号码。

但每当" 约翰"添加以前由" Sara "添加的新联系人,可以添加它们。但它无法添加,因为CodeIgniter form_validation检查整个表数据的唯一值。

这是我的控制器代码

 $this->form_validation->set_rules('customer_email','Email', 'trim|check_email[customer.customer_email.' .$userId. ']', array('check_email' => 'Email must be unique.'));
    $this->session->set_flashdata('check_email','Mobile must be unique');

            $this->form_validation->set_rules('customer_mobile', 'Mobile', 'required|is_unique[customer.customer_mobile]');
            $this->session->set_flashdata('contact_exists','Mobile must be unique');


    if ($this->form_validation->run()) {
        $userdata = $this->session->userdata();
        $userId = $userdata['id'];
        if (!$userId):
            redirect(site_url());
        endif;

我尝试了很多次,但无法解决这个问题。我需要你的努力。感谢

1 个答案:

答案 0 :(得分:1)

请找到以下解决方案。

首先,您需要从customer_mobile中删除class HowItWorks extends Component { render() { ... <Jumbotron id="jumbotronThree"> <HowItWorks/> ... 支票。

unique

一旦form_validation运行为true,则检查customer_mobile与数据库中的用户,如果它返回行,则$this->form_validation->set_rules('customer_mobile', 'Mobile', 'trim|required'); 否则return error

insert Contact

如果不起作用,请告诉我。