평상시처럼 드루팔 (Drupal) 양식의 API가 간단 할 것이라고 생각했습니다. 내가 생각한 것은 무엇입니까?Drupal 6 : 양식을 출력하기 전에 어디에서 form_get_errors()를 통해 양식의 오류에 액세스 할 수 있습니까?
문제
I가 drupal_get_form 통해 폼을 출력하는 블록이(). 어떻게 든 블록의 표시 함수에서 폼이 유효성 검사에 실패했는지 (즉, 폼의 유효성 검사 함수에서 form_set_error()에 의해 설정된 모든 오류가 있는지) 확인하고 싶습니다.
는
- 블록 표시 기능에
$_SESSION['messages']['error']
확인 ... 지금까지 시도 -하지만 그들은 블록 표시 기능에$_POST
을 확인하지 - 그때까지 사라 졌어요 - 여기에 유용한 아무것도
- 에
form_get_errors()
확인mymodule_preprocess_page()
- 비어 있음 form_get_errors()
mytheme_preprocess_page()
- 빈
form_get_errors()으로 전화를 걸어 혼란 스럽습니다. arg35없이 form_set_error()을 호출하여 $reset = FALSE
을 남기므로 양식 오류를 보유하는 정적 var이 지워지지 않습니다. 그래서 var가 재설정되는 곳을 모르겠습니다 - 다른 폼 API 함수에 의해 어딘가에? - 내가 모듈이나 테마에서 호출 할 때까지는 비어 있습니다.
도움?
그럼, 누가 어떤 시점에서 (전처리 함수?) 정적 var가 지워지기 전에 form_get_errors()
을 호출 할 수 있습니까? 또는 양식을 표시하는 블록에서 양식 오류를 확인하는 방법에 대한 다른 아이디어가 있습니까? (덧붙여서 - 나는 일단 내 함수 내에서 drupal_get_form()
이 호출되면 이것을 쉽게 확인할 수 있다고 확신하지만, 둘러싼 블록 표시 함수의 오류에 관해 알아야합니다.)