Form Validation Library와 사용자 정의 콜백을 사용하여 CodeIgniter에서 폼 유효성 검사를하고 있습니다.비공개 메소드의 codeigniter 콜백이 작동하지 않습니다.
public function insert_user()
{
if($this->input->post('submit')) {
// load form validation library
$this->load->library('form_validation');
// configurations
$config = array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'required|callback_username_check'
)
);
$this->form_validation->set_rules($config);
// .... continue ....
}
}
메서드가 public이면 메서드가 예상대로 작동합니다.
public function username_check($username)
{
// do some stuffs here
}
메서드를 비공개로 설정하면 작동하지 않습니다.
private function username_check($username)
{
// do some stuffs here
}
개인용 메서드의 콜백이 작동하지 않는 이유는 무엇입니까?
왜 내가 필요한가? CodeIgniter는 컨트롤러에서
공공 방법은 내가 공개적으로 액세스 할 수있는 콜백 메서드를 원하지 않는
위의 예와 같은 URL에 액세스 할 수 있습니다.
당신은 당신이 http://php.net/manual/en/language.oop5.visibility.php – Svetoslav
있습니다 .. PHP 문서 내부의 가시성에 대해 조금 읽을 필요 같은 클래스 안에서 호출하지 마십시오. :) Your Form v alidator는 공개되어야하는 현재 클래스 함수에 액세스하고 있습니다. – Svetoslav
@Svetlio 응답에 대한 내 의견보기 - 해당 솔루션 중 어느 것이 적합 할 것입니다. –