Добрый день.
Создаю форму:
<?php
function order_form($form, &$form_state)
{
$form = array();
$form['name'] = array(
'#title' => 'Ваше имя',
'#type' => 'textfield',
);
$form['button'] = array(
'#value' => 'Отправить',
'#type' => 'submit',
);
return ($form);
}?>
Добавляю валидацию.
<?php
function order_form_validate($form, &$form_state)
{
if ($form_state['values']['name'] == '')
{
form_set_error('name');
}
}
?>
Вывод формы из модуля:
<?phpfunction module_preprocess_page(&$vars){
$vars['order_form'] = drupal_get_form('order_form');
}?>
Нужно, чтобы при валидации к полю добавлялся суффикс.
Пробовал так:
<?php
function order_form_validate($form, &$form_state)
{
if ($form_state['values']['name'] == '')
{
$form['name']['#suffix'] = '<div>Ошибка<div/>'
form_set_error('name');
}
}
?>
Не, работает.
Комментарии
Плюс вопрос. Как сделать так, чтобы после сабмита вместо формы показывалось сообщение, то есть, сама форма не отрисовывалась?
$form_state['redirect'] ?
А по ссылке форму передать?
<?php
function order_form_validate(&$form, &$form_state)
{
if ($form_state['values']['name'] == '')
{
$form['name']['#suffix'] = '
'
form_set_error('name');
}
}
?>