「アイデア」と「チャレンジ」の2つのコンテンツタイプがあります。クローズド チャレンジを参照してアイデアを作成した場合、そのアイデアが保存されないようにする必要があります。ルールを使用してこれを行うことは可能ですか?
1 に答える
0
ルールを使用して実行できますが、プログラムで実行します。
ルールでは、フォームエラーをドロップするよりも条件を設定する「事前保存」のようなルール st を設定する必要があります。
プログラムによる: 検証する関数を呼び出すフォーム検証が必要な hook_form_alter() を実装します。
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7
例
function YOURMODULE_form_alter (&$form, &$form_state, $form_id) {
if ($form_id == 'YOURCHALLANGENODETYPENAME_node_form') {
$form['#validate'][] = 'YOURMODULE_form_validate';
}
}
function YOURMODULE_form_validate ($form, &$form_state) {
// load your idea here st like:
$idea = entity_load_single( 'node', $form[YOURNODEREFERENCEID]);
if ($idea->status == 0) {
form_set_error ('YOURNODEREFERENCEFIELDNAME', t('ERROR_MESSAGE_TEXT'));
}
}
于 2014-10-21T10:10:14.520 に答える