CI 묻고 답하기

제목 form_validation 관련 질문 드립니다.
글쓴이 정동원 작성시각 2015/10/28 19:18:55
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14380   RSS
안녕하세요.

form_validation을 controller에 설정하고 데이터베이스에 자료 입력 하는 것 까지 성공 했습니다.
문제는, if($this->form_validation->run() == FALSE)여기의 조건이 제대로 동작 하지 않습니다.

1. 만들어 둔 웹에 "form 태그 입력 url"까지 이동을 하면 false를 내 뱉습니다. (echo "error"; 만 잡아뒀어요)

(정상 화면입니다. 여기에서 데이터 입력을 위해 아래 화면과 같이 이동을 하면)

(아직 데이터를 넣지도 않았는데 form_validation()이 실행이 되고 false를 내뱉습니다)

2. 만약에 false를 내뱉어서 안되는거라면 어딘가 틀렸거니 하고 찾을텐데, 1번의 url로 이동 후에 modal로 만들어 둔 form 부분에 입력을 하면 정상적으로 true로 받아들이고 DB에 입력이 됩니다.

(Modal에 data를 입력하게 만들어 놨습니다)

4. 정상적으로 DB에 데이터가 입력이 됩니다 ㅠ...


-----

차라리 데이터가 안들어가면 뭔가 틀렸구나 하고 찾아볼텐데(음..이것도 좋지 않군요..)
막상 값을 입력하면 form_validation()이 true를 리턴하니 뭐가 문제인지 알수가 없네요...

아래는 제가 작성한 코드입니다.

        $this->load->library('form_validation');
        $this->form_validation->set_rules('newBusiness','Business','required');
        $this->form_validation->set_rules('newCategory','Category','required');
        if ($this->form_validation->run() == FALSE)
        {
            echo 'error hello';
        }
        else
        {
            $this->load->model('category_delivery');
            $this->category_delivery->category_add($this->input->post('newBusiness'), $this->input->post('newCategory'));
 다음글 CI에 sms 기능을 사용하려고 합니다. (2)
 이전글 FORM 다중전송 질문 (2)

댓글

정동원 / 2015/10/29 09:37:28 / 추천 0
지식인 답변 바탕으로 하는 자답입니다.

-----

$this->form_validation->run()의 기본값이 false 리턴이므로, 'error hello'를 출력하는게 정상
그러므로 echo를 지우고, view의 기본 값을 false 조건으로 넣어주면 간단하게 해결 되네요.

 
변종원(웅파) / 2015/10/29 10:07:32 / 추천 0
매뉴얼의 폼검증 기본 프로세스를 지키지 않아서 생기는 문제입니다. ^^