0

I have two content type "Idea" and "Challenge". If I create an idea with a reference to a closed challenge then I need to prevent the idea from saving. Is it possible to do this using Rules?

Stephan Muller
  • 27,018
  • 16
  • 85
  • 126
Jetson John
  • 3,759
  • 8
  • 39
  • 53

1 Answers1

0

You can do it with rules however I would do it programmatically.

In rules you need to set up a rule st like 'pre save' where you set up your conditions than drop a form error.

Programmatically: Implement a hook_form_alter() in which you should have a form validation that calls a function in which you validate.

https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7

EXAMPLE

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'));
  }
}
user3563097
  • 179
  • 8