codeigniter编码获得验证错误,因为它尝试不起作用

时间:2018-04-24 17:58:01

标签: php

我正在努力确保不同用户的团队名称不同。所有用户都应具有唯一的团队名称,但代码不能正常工作。我试着设置验证,但它似乎不起作用。我正在使用代码点火器平台

<?php
        class Profile_model extends CI_Model{
            function __construct()
            {
                parent::__construct();
            }
            public function update($postData, $id) {       
                $dateOfBirth = str_replace('/', '-', $postData['dateOfBirth']);
                $updateData = array(
                    'name' => $postData['name'],
                    'teamName' => $postData['teamName'],
                    'dateOfBirth' => !empty($postData['dateOfBirth']) ? date('Y-m-d', strtotime($dateOfBirth)) : NULL,
                    'gender' => $postData['gender'],
                    'email' => $postData['email'],
                    'mobile' => $postData['mobile'],
                    'address' => $postData['address'],
                    'city' => $postData['city'],
                    'state' => $postData['state'],
                    'country' => $postData['country'],
                    'pinCode' => $postData['pinCode'],            
                    'updatedAt' => date('Y-m-d H:i:s')

                );
                $this->db->where('id', $id);
                $this->db->update('customer', $updateData);
                $this->db->update('customer', 'teamName', 'required|is_unique[teamName]');

                $returnData = array(
                    'success' => 1
                );
                return $returnData;


           }
           public function exists_in_database($teamName)
                {

                        $query = $this->db->get_where('customer', array('teamName' => $teamName)); 

                        if ($query->num_rows() == 0 )
                        {
                                $this->form_validation->set_message('exists_in_database', 'Please enter an new teamName');
                                return FALSE;
                        }
                        else
                        {
                                return TRUE;
                        }
                }

        }* 

1 个答案:

答案 0 :(得分:0)

你可能在代码中做错了

  1. 您在表中找到了团队名称,当匹配时,它将返回1而不是0
  2. 您需要检查受影响的行是否大于0然后它已经在db中,因此将该消息放入此块中,否则返回true。