2016-07-12 26 views
0

Ich versuche, den erforderlichen Status aus einigen Knoten/*/bearbeiten Felder zu entfernen. Die erforderliche Status wird standardmäßig festgelegt und sollte in einem Taxonomie-Feld auf den gewählten Wert nur entfernt werden, basiert:Drupal Knoten Formular bedingt erforderlichen Status aus den Feldern entfernen

Verwendung des folgenden Codes:

function mymodule_form_node_form_alter(&$form, &$form_state, $form_id) { 
    if($form_id == 'job_node_form'){ 
     $form['#after_build'] = array('test'); 
    } 
} 

function test(&$form, &$form_state) { 
    $form['title']['#required'] = FALSE; // works 
    $form['jobs_schools_data']['field_job_type']['#required'] = FALSE; // does NOT work 
    return $form; 
} 

ich finde ich kann erfolgreich den gewünschten Status aus dem Titel entfernen Feld, aber das gleiche funktioniert nicht für die Felder, die ich hinzugefügt habe wie field_job_type im Codebeispiel oben.

Weiß jemand, warum das nicht funktioniert und wie ich es bitte korrigieren könnte?

Antwort

0

Ich hatte etwas ähnliches, in der tatsächlichen Form habe ich nicht den erforderlichen Status auf zwei Felder gesetzt, nur eines soll zeigen, wenn bestimmte Kriterien erfüllt wurden. Ich habe dann eine benutzerdefinierte Funktion erstellt, um zu überprüfen, ob ein Feld ausgefüllt wurde und basierend darauf habe ich dann die Fehlermeldung von dort gesetzt.

+0

Vielen Dank Johanna, aber ich versuche nicht, einen Fehleralarm zu setzen. Stattdessen versuche ich, die erforderlichen Fehlerwarnungen für einzelne Felder basierend auf bestimmten Bedingungen zu deaktivieren. Danke für die Antwort trotzdem – sisko