| 제목 | 폼검증 필드배열 사용시 문제 질문입니다. | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 꽈찌쭈 | 작성시각 | 2016/09/29 14:37:21 | 
|  | |||
| 참고글 http://codeigniter-kr.org/bbs/view/source?idx=7432&page=4&view_category=&lists_style= http://codeigniter-kr.org/user_guide_2.1.0/libraries/form_validation.html#arraysasfields 
 ## 컨트롤러 ## 
<?php
 
class Welcome extends Controller {
 
    function Welcome()
    {
        parent::Controller();  
    }
     
    function index()
    {
     
        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
             
        $this->form_validation->set_rules('phone[]', '휴대전화', 'required');
             
        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('welcome_message');
        }
        else
        {
            $this->load->view('welcome_success');
        }      
    }
}## 뷰 ## 
<?php $phone= set_value ( 'phone[]' ); ?>
<select name="phone[]" value="<?=($phone)?$phone[0]:'010 '?>">
    <option value="010">010</option>
    <option value="011">011</option>
</select>
<input name = "phone[]" type = "text" value = "<?=($phone)?$phone[1]:' '?>" />
<input name = "phone[]" type = "text" value = "<?=($phone)?$phone[2]:' '?>" />
<?php echo form_error('phone[]'); ?>
 위의 뷰와 같이 전화번호를 select와 input:text 를 섞어서 사용하려고 합니다. 폼검증 rules에 따라 체크를 하고 휴대전화를 입력하세요 라는 하나의 에러를 표시 후 입력된 값을 노출시켜주는게 목적입니다. 참고글을 참고하여 개발했습니다만 $_POST값으로는 $phone[] 배열이 잘 출력이 되는데 set_value('phone[]')의 값에는 첫번째인 select 값만 담겨있습니다. 예) 값이 010이라고 하면 array('0' => "0", '1' => "1", '2' => "0"); 전화번호의 첫번째 부분을 select가 아닌 input:text로 변경하여도 같은 문제가 발생하네요 어떻게 해결을 해야될까요? 
 ## 추가내용 ## value="<?=($phone)?$phone[0]:'010 '?>" 라고 넣은 부분은 스크립트단에서 처리 중입니다. | |||
| 다음글 | 데이터 등록시 긴 로딩 후 이런 에러가 발생하네요 (2) | ||
| 이전글 | 페이지네이션 옵션 설정 중 base_url 설정부분에서... (2) | ||
| 
                                변종원(웅파)
                                /
                                2016/10/04 00:30:58 /
                                추천
                                0
                             | 
| 
                                꽈찌쭈
                                /
                                2016/10/04 09:22:51 /
                                추천
                                0
                             @웅파 네 보통은 나눠서 사용하고 있습니다만 set_rules를 한꺼번에 처리하고 싶었습니다. | 
phone[] 를 잘못 사용하고 있습니다. 같은 성질의 연속된 번호를 대상으로 사용하시는 것이 좋고
전화번호 같은 경우는 그냥 phone1, phone2 정도로 사용하는게 좋습니다.