ビュー ブロック (Views 3 / Drupal 7) があり、フィルター フォームが公開されており、ajax モードが有効になっています。それは正常に動作します。hook_form_alter() に検証関数を追加しました。これも機能しますが、form_set_error メッセージはページの更新時にのみ表示されます。ページをリロードせずにメッセージを設定するにはどうすればよいですか?
function hook_form_alter(&$form, &$form_state, $form_id) {
if($form['#id'] === 'id_from_views') {
array_unshift($form['#validate'], '_custom_form_validate');
}
}
function _custom_form_validate($form, &$form_state) {
if(!empty($form_state['values']['field'])) {
form_set_error('field', t('Custom error message.'));
}
}