CI 묻고 답하기

제목 폼 검증 이후 validation_errors 에 오류 메시지 표시
카테고리 CI 2, 3
글쓴이 푸르르른 작성시각 2017/07/02 17:18:38
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13792   RSS
if ($this->form_validation->run() === true) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $remoteAddr = $this->input->ip_address();

            $this->load->model('services/user_service');
            /** @var User_service $userService */
            $userService = &$this->user_service;

            $result = $userService->regist($username, hash('sha512', md5($password)), $remoteAddr);

            if ($result === false) {
                 // todo 
                 // DB 제약조건의 오류에 따른 결과표시
            }
        }

 

 

간단하게 회원가입로직을 짜고있는데요. DB 제약조건에 의해 오류 발생시 validation_errors 에 동적으로 오류 메시지를 표기해주고싶습니다.

어떤 방식으로 전달해야 하나요?

 다음글 이메일 전송이 안되네요.. (2)
 이전글 서비스 레이어가 없나요? (2)

댓글

변종원(웅파) / 2017/07/03 10:32:28 / 추천 0

무슨 이야기인지 해석이 힘드네요.

좀더 자세하게 하고 싶은 것을 설명해주심이... ^^

푸르르른 / 2017/07/04 13:33:17 / 추천 0

음... 

view 단에 폼검증시 오류메시지를 표현할때 아래와 같은방법으로 하고있어요. 튜토리얼 참고했구요.

<?php echo form_error('username'); ?>

그런데 이것은 폼발리데이션 라이브러리에 의해 값이 채워지고 view에서 위 메소드가 해당 값을 랜더링하는 방법같더라구요.

그런데 발리데이션을 체크하지 않고도 오류메시지를 표시해주고 싶다는겁니다.

발리데이션 이후 추가 체크해야할 부분이 분명 있어요.

예를 들면 DB핸들링이라던가 다른 솔루션의 API통신 결과에 대한 오류 메시지 처리 부분이죠.

그럼 이런 서드파티들의 발리데이션을 폼발리데이션 라이브러라기 모두 체크할 수 있느냐? 있다면 어떻게 하느냐?

를 알고싶은거에요.

일단 임시방편으로 폼 발리데이션을 사용하지 않고 처리는 했지만 혹시나 해서 문의 드렸던 겁니다.

변종원(웅파) / 2017/07/04 14:38:18 / 추천 0

통신부분은 자바스크립트에서 처리를 하시면 되구요. 

db 부분은 config/database.php의 db_debug 항목을 true로 해서 처리하실 수 있습니다.

폼검증은 말 그대로 폼의 데이터 유무와 값이 맞는지를 검증하는 라이브러리이지 모든걸 다 처리하는 라이브러리가 아닙니다.

푸르르른 / 2017/07/05 15:59:43 / 추천 0
@변종원 답글 감사합니다.