CI 묻고 답하기

제목 헬퍼에서 select박스을 생성했을 경우 폼검증 실패시 데이터 복원할수 있는 방법이 있을까요?
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2017/06/30 13:53:06
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 17368   RSS

 

select 박스를 컨트롤러에서 헬퍼를 호출하여 select박스를 만들어서 뷰에 출력하고 있습니다.

 

폼 검증이후에 실패했을 경우 폼으로돌아왔을때 select박스에서 선택한것으로 select가 되게 할려고합니다.

 

책에서 보았을 때 

 

<option = "name" value="one" <?php echo set_select('my_seelct', 'one', TRUE)?> 

 

이렇게 명시가 되있어서

 

$select ='
			<select name="'.$name.'">';

			foreach($data as $jimok) {
				
				$select.='<option value="'.$jimok->jimok.'" '.(($jimok->jimok== $selected)?'selected="selected"':'').''.set_value($name,$jimok->jimok).'>'.$jimok->yakja.' '.$jimok->jimok.'</option>';
			}
			$select .='</select>';
			return $select;
			break;

 

select박스를 만드는곳에서 이렇게 해줘봤는데 선택했던 것으로 복원이 안되더라구요..

 

혹시 폼규칙을 정할 때 규칙에 셀렉트 박스규칙도 있어야 복원이 되는것인가요??

 

아니면 제가 잘못 사용하고 있는 것인가요?

 다음글 액티브레코드 num_row() (2)
 이전글 1.7.3에서의 버전 업그레이드 (4)

댓글

변종원(웅파) / 2017/06/30 15:23:00 / 추천 0

매뉴얼에 잘 나와있습니다.

책에서 사용한 함수랑 다른 것을 쓰기도 했구요.

정수리 / 2017/06/30 15:35:58 / 추천 0

@변종원(웅파)

답변 감사합니다.

책과 확인해보니 

set_select()함수를 사용했더군요

참고해서 적용해보았지만 그래도 안되네요 ㅜㅜ

제가 잘못 적용하고 있는 것일까요??

set_select의 세번째 파라미터 TRUE는 잘적용되는데 말이죠 ㅜㅜ

 

$CI =& get_instance();
$CI->load->helper('form');

했을 경우 에러가 출력이 됩니다.

public_helper.php

case 'dt_jimok':
			
			$select ='
			<select name="'.$name.'">';

			foreach($data as $jimok) {
				
				$select.='<option value="'.$jimok->jimok.'" '.(($jimok->jimok== $selected)?'selected="selected"':'').''.set_select($name, $jimok->jimok).'>'.$jimok->yakja.' '.$jimok->jimok.'</option>';
			}
			$select .='</select>';
			return $select;
			break;

 

변종원(웅파) / 2017/06/30 17:58:38 / 추천 0
함수를 못찾는거네요
정수리 / 2017/06/30 18:02:13 / 추천 0

@변종원(웅파)

함수를 몾찾은거라구요??

책에서나 메뉴얼을 봤을때는 모두 set_select를 사용하고 있는데요??

http://codeigniter-kr.org/user_guide_2.1.0/libraries/form_validation.html

이거 외에 다른 것도 있다는 말씀이신가요??

변종원(웅파) / 2017/06/30 21:29:45 / 추천 0
정수리/ 그럼 에러를 보여주세요. 스무고개 하지 마시구요. ^^;
정수리 / 2017/07/03 09:02:28 / 추천 0

변종원(웅파)

계속 답변 달아주셔서 감사합니다.

뷰페이지 상단에 

<?php echo validation_errors(); ?>

명시해놓았는데도 

폼검증 실패시 text필드부분에 대한 에러만 출력이 되고

select부분에 대한 에러가 출력이 되지 않으니 어떤 부분에서 문제가 된것인지

파악을 할수가 없네요 ㅜㅜ