Я сделал форму в пользовательский модуль я пытаюсь добавить проверку на «расстояние [postal_code]» TextField Drupal7: Форма проверки
Но не сработало!
Кто может мне помочь?
hook_menu:
function location_search_menu() {
$items = array();
$items['markten'] = array(//this creates a URL
'title' => 'Markten, nog toegankelijker!', //page title
'page callback' => 'drupal_get_form', //this is the function that will be called when the page is accessed. for a form, use drupal_get_form
'page arguments' => array('location_search_form'), //put the name of the form here
'access callback' => TRUE
);
return $items;
}
Форма:
function location_search_form($form, &$form_state) {
$form['#prefix'] = '<div id="postal-code-search"><h2>Markten vandaag in de buurt...</h2>';
$form['#sufix'] = '</div>';
$form['#attributes'] = array('id' => 'postal-code-form');
$form['#method'] = 'get';
$form['#action'] = '/location-list'; // make url
$form['distance[postal_code]'] = array(
'#type' => 'textfield', //postal code field
'#size' => 10,
'#maxlength' => 10,
'#required' => TRUE, //make this field required
'#attributes' =>array('placeholder' => t('Postal code')),
);
$form['submit_button'] = array(
'#type' => 'submit',
'#value' => t('Search'),
'#name' => '', // unset 'op'
);
return $form;
}
Validation:
function location_search_validate($form, &$form_state) {
$pc = $form_state['values']['distance[postal_code]'];
if(empty($pc) || $pc == '') {
form_set_error('distance[postal_code]', t('Postal code is required!'));
}
}
'#required' является валидацией для «пустого значения» :), если это «истина», поле должно быть заполнено. найдите специальную проверку https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#element_validate – Eugen
Здравствуйте, я теперь эту функцию #required, но не работаю. Я пробую несколько способов закодировать эту форму, но не работает. Я не знаю, что я делаю неправильно (извините за мой плохой английский) – Tuxy