[gelöst] Filter greift bei eigener Validate Funktion nicht
am 18.06.2009 - 11:41 Uhr in
Hallo zusammen,
ich habe bei einer View einen Block mit veröffentlichten Filtern erstellt.
Nun habe ich dieses Filterformular mit dem Hook form_alter geändert und möchte
eine eigene Validierungsfunktion einbauen.
Sobald ich diese aber implementiere, greifen die Filter nicht mehr. Kann mir evtl. jemand weiterhelfen?
Hier der Code.
<?php
function userloginform_form_views_exposed_form_alter(&$form, $form_state) {
unset($form['distance']['search_units']);
$form['title'] = array(
'#type' => 'textfield',
'#size' => 30,
'#attributes' => array(
'onblur' => 'if(this.value==\'\') this.value=\'Suche..\';',
'onfocus' => 'if(this.value==\'Suche..\') this.value=\'\';',
),
'#default_value' => 'Suche..',
);
$form['distance']['postal_code'] = array(
'#type' => 'textfield',
'#title' => '',
'#attributes' => array(
'onblur' => 'if(this.value==\'\') this.value=\'Plz..\';',
'onfocus' => 'if(this.value==\'Plz..\') this.value=\'\';',
),
'#default_value' => 'Plz..',
'#size' => '15',
'#maxlength' => 5,
);
$form['distance']['search_distance'] = array(
'#type' => 'textfield',
'#title' => '',
'#attributes' => array(
'onblur' => 'if(this.value==\'\') this.value=\'Umkreis..\';',
'onfocus' => 'if(this.value==\'Umkreis..\') this.value=\'\';',
),
'#default_value' => 'Umkreis..',
'#size' => '15',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Abschicken',
'#weight' => 10,
);
$form['rubrik'] = array(
'#type' => 'textfield',
'#title' => 'Test',
'#attributes' => array(
'onblur' => 'if(this.value==\'\') this.value=\'Rubrik..\';',
'onfocus' => 'if(this.value==\'Rubrik..\') this.value=\'\';',
),
'#default_value' => 'Rubrik..',
'#size' => '15',
'#autocomplete_path' => 'taxonomy/autocomplete/1',
);
$form['#validate'] = array(
'userloginform_views_exposed_validate',
);
}
function userloginform_views_exposed_validate($form, &$form_state) {
echo '<pre>';
print_r($form_state['values']['distance']);
echo '</pre>';
if(empty($form_state['values']['distance']['search_distance']) && !empty($form_state['values']['distance']['city'])) {
form_set_error('info',t('Die Angabe zur Entfernung ist bei Eingabe einer Stadt erforderlich.'));
}
}?>Als Hinweis: Es sind der Titel, die Entfernung vom Location Modul und Taxonomy als Filter veröffentlicht
- Anmelden oder Registrieren um Kommentare zu schreiben

Zuerst würde
am 22.06.2009 - 00:03 Uhr
Zuerst würde ich
$form['#validate'] = array('userloginform_views_exposed_validate',
);
}
mit
$form['#validate'][] = 'userloginform_views_exposed_validate';ersetzen
Sonst sieht es eigentlich erstmal gut aus
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Vielen Dank
am 29.06.2009 - 13:28 Uhr
Danke Dir, das scheint es wohl gewesen zu sein.
Diese Thematik interessiert
am 19.01.2010 - 13:19 Uhr
Diese Thematik interessiert imch. Kann mir bitte jemand sagen wie und wo ich den oben aufgeführten "Code" einfügen kann/muss um diese Funtkionalität als Block zu verwenden?
Habe Location, CCK und Views installiert.
Bin über jede Hilfestellung dankbar.
Diese Thematik interessiert
am 23.01.2010 - 12:12 Uhr
Du musst ein eigenes Modul erstellen
in meinem Fall hies es userloginform
Darin fügst Du den Code ein.
Viele Grüße
Tom