这里我有一个联系人列表,用户可以在其中添加新联系人以及编辑它们。现在在添加时,我使用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;
我尝试了很多次,但无法解决这个问题。我需要你的努力。感谢
答案 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
如果不起作用,请告诉我。