2012-04-03 1 views
0

그룹을 나타내는 HTML 양식이 있고 각 그룹에 이름과 여러 사용자가 있다고 가정 해 보겠습니다. CodeIgniter 및 다차원 양식 요소 이름 유효성 검사

Group Name: <input name='group[0][name]' /> 
User 1: <input name='group[0][users][0]' /> 
User 2: <input name='group[0][users][0]' /> 
User 3: <input name='group[0][users][0]' /> 
<hr /> 
Group Name: <input name='group[1][name]' /> 
User 1: <input name='group[1][users][0]' /> 
User 2: <input name='group[1][users][0]' /> 
User 3: <input name='group[1][users][0]' /> 

내가 $this->input->post('group'); 생활이 좋은 사용 CodeIgniter의에 전체 구조를 읽을 다음은 관련 요소를 포함하도록 단순화 된 샘플 HTML 구조입니다.

사용자 지정 기능을 사용하여 양식 확인을 추가하고 싶습니다. 내가 이렇게하면 :

$this->form_validation->set_rules('group[]', 'Group', 'callback_verifyGroupData'); 

verifyGroupData($group_data) 함수는 각 그룹에 대해 한 번 호출됩니다. .이 예에서는 여기에 지금 더미 함수에 전달 된 그룹 데이터를 갖는마다 두 번 호출됩니다

function verifyGroupData($data) { 
    log_message('info','KRYSTODO: verifyGroupData data ' . print_r($data,true)); 
    $this->form_validation->set_message('verifyGroupData', 'This is not entirely checked yet.'); 
    return false; 
} 

문제는 내가 각 그룹에 대해 개별적으로 오류를 표시 할 수 있어야한다는 것입니다. 내 HTML보기에서 개인 에러 표시를 추가 할 때 지금, 내가 할 :

<?php if(form_error('group[]')) { 
     echo '<div class="validationError">' . form_error('group[]') . '</div>'; 
    }?> 

을 문제는이 코드 그룹 대 그룹 [0] 설정 오류를 구분하지 않습니다 [1] .

된답니다 문서에 따르면,이 작업을 수행 할 수 있어야한다 :

$this->form_validation->set_rules('group[0]', 'Group', 'callback_verifyGroupData'); 
$this->form_validation->set_rules('group[1]', 'Group', 'callback_verifyGroupData'); 

실제로이 전혀라고 점점 내 verifyGroupData() 발생하지 않습니다.

이 문제에 대한 접근 방법을 제시 할 수 있습니까?

+0

form_validation 라이브러리 자체 디버깅을 시도해보고 무슨 일이 일어나고 있는지 알아 보셨습니까? 그것은 system/libraries/form_validation에 있습니다. – musoNic80

답변

0

이가 규칙을 변경 ... 시도 가치가있을 수도 있습니다 :

$this->form_validation->set_rules('group[0][]', 'Group','callback_verifyGroupData'); 

그리고 두 번째 그룹에 대해 동일합니다. 필드 이름에 여분의 괄호가 있음을 유의하십시오. 시험 할 기회가 없었습니다. 두려웠지만 재빨리 시도해 볼 가치가 있습니다! :-)

+0

나는 이것도 시도했다. 불행히도, 안돼. 제안 해 주셔서 감사합니다. –