2016-07-12 1 views
0

일부 노드/*/편집 필드에서 필요한 상태를 프로그래밍 방식으로 제거하려고합니다. 필요한 상태는 기본적으로 설정되어 있습니다 만 제거 분류법 필드에서 선택한 값을 기준으로해야한다 : 나는 성공적으로 제목에서 필요한 상태를 제거 할 수 있습니다 찾을 수드루팔 (Drupal node form)은 필드에서 조건을 조건부로 제거합니다.

function mymodule_form_node_form_alter(&$form, &$form_state, $form_id) { 
    if($form_id == 'job_node_form'){ 
     $form['#after_build'] = array('test'); 
    } 
} 

function test(&$form, &$form_state) { 
    $form['title']['#required'] = FALSE; // works 
    $form['jobs_schools_data']['field_job_type']['#required'] = FALSE; // does NOT work 
    return $form; 
} 

: 다음 코드를 사용하여

필드가 같지만 위의 코드 예제에서 field_job_type과 같은 필드를 추가해도 작동하지 않습니다.

왜 이것이 작동하지 않는지와 어떻게 해결할 수 있는지 아는 사람이 있습니까?

답변

0

필자는 실제 양식에서 두 필드의 필수 상태를 설정하지 않았으므로 특정 조건이 충족되었는지를 보여주는 하나만 있습니다. 그런 다음 사용자 정의 함수를 만들어 필드가 채워 졌는지 확인한 다음 거기에서 오류 메시지를 설정합니다.

function events_registration_form_validate($form, &$form_state){ 
    $selected_time = $form_state['values']['time_selected']; 
if ($form_state['values']['time_selected'] == '') { 
    form_set_error('time_selected', t('Please choose an event time.')); 
+0

대단히 요한나하지만 오류 경고를 설정하려고하지 않았습니다. 오히려 일부 조건에 따라 개별 필드에서 필수 오류 경고를 비활성화하려고합니다. 모두에게 답변 해 주셔서 감사합니다. – sisko