2013-09-24 2 views
0

맞춤 모듈 양식의 유효성을 검사하려고합니다. hook_validate를 사용하거나 제출 버튼에 #validate 속성을 사용하더라도 유효성 검사는 매력과 비슷합니다. 문제는 유효성 검사가 실패한 후 양식이 내가 모듈에 첨부 한 CSS 스타일을 잃게된다는 것입니다. .info 파일을 사용하여 모듈에 CSS를 연결합니다. drupal_add_css 또는 #attached 속성을 사용하여 유효성 검사 기능의 맨 아래에 CSS를 다시 첨부하려고했습니다. 누구든지 동일한 문제가있는 경우 알려 주시기 바랍니다. 어떤 아이디어 나 도움을 주시면 감사하겠습니다. 감사합니다. .양식 유효성 검사 실패 후 Drupal 7 CSS 규칙이 누락되었습니다.

답변

1

동일한 문제가있는 사람이 해결책을 찾은 경우. 유효성 검사가 끝나면 Drupal은 HTML 양식 ID를 변경합니다. 양식 ID를 기반으로 CSS 선택기를 사용하는 경우 양식 작성 기능의 어딘가에 #attributes 양식 속성을 사용하여 양식에 맞춤 클래스 이름을 추가하기 만하면됩니다.

$form['#attributes'] = array('class' => array('your_id')); 

다음이 클래스를 CSS 파일의 다양한 선택 항목으로 사용하십시오.

또는

당신은 항상 와일드 카드와 CSS 선택기 속성 사용할 수 있습니다.

0

#afterbuild를 사용하면 $ form [ '# after_build']이라는 선택적인 양식 요소입니다.

function yourmodulename_form_alter(&$form, $form_state, $form_id) { 
    if($form_id == 'thisformid'){ 
    $form['#after_build'][] = 'yourmodulename_after_build'; 
    } 
} 

function yourmodulename_after_build($form, &$form_state) { 
    drupal_add_css('your_file.css'); 
} 
관련 문제