2012-05-15 2 views
0

사용자 정의 함수가 작동하지 않습니다. 전달 된 값이 데이터베이스에 존재하지 않으면 오류 메시지를 반환하는지 확인합니다. 내가 뭘 잘못하고 있니?
컨트롤러 기능codeigniter에서 사용자 정의 폼 유효성 검사가 잘못되었습니다.

function sp_exists($str) 
     { 
      $this->user_model->sp_exists($str); 
      $this->form_validation->set_message('sp_exists', 'The %s field does not exists'); 
     } 

모델 기능

$this->form_validation->set_rules('sponsor_id', 'Sponsor ID', 'trim|required|xss_clean|callback_sp_exists'); 
+0

현재 출력되는 내용은 무엇입니까? – tcole

+0

필드가 비어 있지만 양식을 제출하지 않습니다. –

+1

콜백 함수가 아무 것도 반환하지 않습니다. –

답변

5

당신이 user guide 볼나요

function sp_exists($str) 
    { 
     $this->db->where('member_id',$str); 
     $query = $this->db->get('user'); 
     if ($query->num_rows() > 0) 
     { 
      return false; 
     } 
     else 
     { 
      return true; 
     } 
    } 

콜백 함수? 이 작업을 수행하는 방법을 명확하게 설명합니다.

function sp_exists($str) 
{ 
    $this->db->where('member_id',$str); 
    $query = $this->db->get('user'); 
    return $query->num_rows() > 0; 
} 

그리고 컨트롤러는 다음과 같아야합니다 : 모든

먼저 당신이에 모델 기능을 변경해야한다고 생각

function sp_exists($str) 
{ 
    if(!$this->user_model->sp_exists($str)) 
    { 
    $this->form_validation->set_message('sp_exists', 'The %s field does not exists'); 
    return FALSE; 
    } 
    else 
    { 
    return TRUE; 
    } 
} 
+0

변경을 했는데도 작동하지 않습니다. 그리고 라이브러리를로드하는 데 실수하지 않습니다. 나는 그것이 잘못되어 가고있는 것을 알아낼 수 없다. –

+0

양식 코드도 표시 할 수 있습니까? 정확히 작동하지 않는 것은 무엇입니까? 양식을 제출할 때 일어나는 일을 정확하게 설명하십시오. – Mischa

+0

죄송합니다 .. 성공했습니다 .. 구문 오류가 발생했습니다. –

0

변화

function sp_exists($str) 
    { 
     $this->user_model->sp_exists($str); 
     $this->form_validation->set_message('sp_exists', 'The %s field does not exists'); 
    } 

function sp_exists($str) 
    { 
     $this->form_validation->set_message('sp_exists', 'The %s field does not exists'); 
     return $this->user_model->sp_exists($str); 
    } 
관련 문제