[gelöst] CCK-Felder in eigener Validierung ansprechen
am 17.05.2010 - 17:09 Uhr in
Hallo Leute,
ich habe vor, mich mittels hook_form_FORM_ID_alter in die Erstellung eines Nodes einzuklinken. Um genau zu sein will ich dort eine eigene Validierungsfunktion anfügen.
Der Inhaltstyp ("Termin") hat ein CCK-Feld vom Typ Date. Dort werden ein "Von"-Datum und ein "Bis"-Datum inkl. Uhrzeit angegeben.
In der Datenbank tauchen diese beiden Werte in der Tabelle des CCK-Feldes als "field_termin_value" und "field_termin_value2".
Das Modul Theme Developer gibt mir bei den Feldern als #name "field_termin[0][value]" (bzw. "field_termin[0][value2]") und als #id "edit-field-termin-0-value" (bzw. "edit-field-termin-0-value2") an.
Nun stellt sich mir die Frage: Wie greife ich in meiner Validierungsfunktion auf die Felder zu?
Ich hatte mir das ganze so gedacht:
<?php
//Implementierung von hook_form_FORM_ID_alter:
terminverwaltung_form_termin_node_form_alter(&$form, &$form_state){
$form['#validate'][] = 'terminverwaltung_termin_validate';
}
//Implementierung der Validierungs-Funktion
terminverwaltung_termin_validate(&$form, &$form_state){
//Nun ist die Frage, wie ich auf die Felder zugreife
//So?
$Feld1 = $form_state['values']['termin-0-value'];
$Feld2 = $form_state['values']['termin-0-value2'];
//Oder so?
$Feld1 = $form_state['values']['field_termin_value'];
$Feld2 = $form_state['values']['field_termin_value2'];
}
//Oder muss ich es gänzlich anders schreiben?
?>
Wie gesagt, ich weiß nicht so recht, wie ich auf die Felder zugreifen soll.
Könnt ihr mir da weiterhelfen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ok, nach langem hin und her
am 18.05.2010 - 00:21 Uhr
Ok, nach langem hin und her habe ich die Lösung gerade selbst gefunden:
<?php
$datum_von = $form_state['values']['field_termin']['0']['value'];
$datum_bis = $form_state['values']['field_termin']['0']['value2'];
?>
Und damit funktioniert meine Validierungsfunktion so, wie sie soll :-)