Drupal 7では、 hook_block_configureとhook_block_saveは、ブロック設定を変更してこれらの値を保存する方法を提供します。
しかし、値を保存する前にフォームで検証を実行するにはどうすればよいでしょうか?
Drupal 7では、 hook_block_configureとhook_block_saveは、ブロック設定を変更してこれらの値を保存する方法を提供します。
しかし、値を保存する前にフォームで検証を実行するにはどうすればよいでしょうか?
ここにあるように、フォーム要素を構成するときに、要素のカスタム検証関数を指す「#element_validate」を追加する必要があります。詳細については、こちらのフォーム API を参照してください。
フォーム全体に検証を追加したい場合、これは実際には不可能です。私が自分で実装した最善の方法は、カスタム関数をコードに追加し、パラメーターとして $edit を使用し、ブール値を戻り値として使用することです。次に、データを保存する前に関数を呼び出してhook_block_save()
、追加のチェックを実行します。フォームで正しくない値が赤で強調表示されないという唯一の例外を除いて、正常に機能します。